[ https://issues.apache.org/jira/browse/THRIFT-3612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15142277#comment-15142277 ]
Hudson commented on THRIFT-3612: -------------------------------- FAILURE: Integrated in Thrift-precommit #67 (See [https://builds.apache.org/job/Thrift-precommit/67/]) THRIFT-3612 Add Python C extension for compact protocol (nsuke: [https://github.com/apache/thrift/commit/80606c5a4ecc6288f9297dfe704c469188cb6586]) * compiler/cpp/src/generate/t_py_generator.cc * lib/py/src/ext/types.cpp * lib/py/src/ext/compact.h * lib/py/src/ext/module.cpp * lib/py/test/_import_local_thrift.py * lib/py/src/protocol/TBinaryProtocol.py * test/py/FastbinaryTest.py * lib/py/src/protocol/TCompactProtocol.py * test/py/RunClientServer.py * test/py/TestServer.py * lib/py/src/ext/protocol.h * lib/py/src/protocol/TProtocol.py * lib/py/src/protocol/TBase.py * test/py/CMakeLists.txt * lib/py/src/ext/endian.h * lib/py/setup.py * lib/py/src/ext/compact.cpp * lib/py/src/ext/binary.h * lib/py/src/protocol/fastbinary.c * test/py/Makefile.am * test/py/TestEof.py * lib/py/src/ext/protocol.tcc * test/py/TestFrozen.py * lib/py/src/ext/binary.cpp * test/py/TestClient.py * test/tests.json * test/py/SerializationTest.py * lib/py/src/ext/types.h > 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)