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

Hudson commented on THRIFT-3612:
--------------------------------

FAILURE: Integrated in Thrift-precommit #70 (See 
[https://builds.apache.org/job/Thrift-precommit/70/])
THRIFT-3612 Add Python C extension for compact protocol (nsuke: 
[https://github.com/apache/thrift/commit/ded827a31e8713c914bc29f2d1c8eef5a86aa7c1])
* test/py/CMakeLists.txt
* lib/py/src/protocol/TCompactProtocol.py
* test/known_failures_Linux.json
* test/tests.json
* test/py/RunClientServer.py
* test/py/TestServer.py
* lib/py/src/protocol/TProtocol.py
* lib/py/src/ext/protocol.h
* test/py/TestClient.py
* lib/py/src/ext/types.cpp
* lib/py/src/protocol/TBase.py
* test/py/SerializationTest.py
* compiler/cpp/src/generate/t_py_generator.cc
* lib/py/src/ext/types.h
* test/py/Makefile.am
* lib/py/src/ext/protocol.tcc
* lib/py/src/ext/endian.h
* test/py/TestEof.py
* test/py/TestFrozen.py
* lib/py/src/protocol/fastbinary.c
* lib/py/src/protocol/TBinaryProtocol.py
* test/py/FastbinaryTest.py
* lib/py/src/ext/module.cpp
* lib/py/src/ext/binary.h
* lib/py/setup.py
* lib/py/src/ext/compact.h
* lib/py/src/ext/compact.cpp
* lib/py/src/ext/binary.cpp


> Add Python C extension for compact protocol
> -------------------------------------------
>
>                 Key: THRIFT-3612
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3612
>             Project: Thrift
>          Issue Type: Improvement
>            Reporter: Aki Sukegawa
>            Assignee: Aki Sukegawa
>
> I've extracted fastbinary.c TBinary implementation to a C++ class and added 
> TCompact counter part.
> It can be used in the same way as TBinaryProtocolAccelerated.
> Note that it now requires C++ compiler but I don't think it affects anyone 
> compiling Thrift Python module.
> Here's a quick benchmark:
> {code}
> $ PYTHONPATH=lib/py/build/lib.linux-x86_64-2.7:test/py/gen-py \
>     test/py/FastbinaryTest.py 
> Testing TBinaryAccelerated
> Starting Benchmarks
> HolyMoley Standard = 0.599830
> HolyMoley Acceler. = 0.028437
> FastStruct Standard = 0.151254
> FastStruct Acceler. = 0.010000
> Testing TCompactAccelerated
> Starting Benchmarks
> HolyMoley Standard = 1.200082
> HolyMoley Acceler. = 0.029162
> FastStruct Standard = 0.420377
> FastStruct Acceler. = 0.012183
> {code}
> It's ~40x faster than pure python implementation, partly because pure-python 
> TCompact is much slower than TBinary for some reason.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to