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