You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Eevee (JIRA)" <ji...@apache.org> on 2014/08/21 02:27:28 UTC

[jira] [Commented] (THRIFT-1857) Python 3.X Support

    [ https://issues.apache.org/jira/browse/THRIFT-1857?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14104848#comment-14104848 ] 

Eevee commented on THRIFT-1857:
-------------------------------

Hey, I picked this up and fixed a lot of other issues that were missed ­— I don't think tbartelmess actually ran the full test suite against Python 3.  Perk of being on Arch.  ;)

I'm still having trouble with [~roger.meier]'s issue, though, and I don't see how to fix it without rewriting a lot of {{fastbinary.c}}, a daunting task.

But...  I'm also not seeing any speed boost from the C module.

{{make check}}, run from {{lib/py/}}, Python 3.4 (no C module) versus Python 2.7 (hacked a bit to keep the C module still working):

{code}
make check  47.63s user 15.01s system 12% cpu 8:18.35 total
make PYTHON=/usr/bin/python2 check  48.07s user 15.48s system 12% cpu 8:19.09 total
{code}

That makes some sense to me: it looks like the C module repeatedly calls back into Python code asking to read a handful of bytes at a time, which would negate a lot of the speed improvement.

Unless I'm missing something here (which is possible! the original commits claim the C extension provides a vast speedup), can I just remove the C extension entirely?  There's probably room for improvement using C code, but I don't think what's there now is cutting it.

> Python 3.X Support
> ------------------
>
>                 Key: THRIFT-1857
>                 URL: https://issues.apache.org/jira/browse/THRIFT-1857
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Python - Compiler
>    Affects Versions: 0.9
>            Reporter: Avi Saranga
>            Assignee: Roger Meier
>
> add support for python 3.x 



--
This message was sent by Atlassian JIRA
(v6.2#6252)