thriftrw / thriftrw-python

A Thrift encoding library for Python
MIT License
36 stars 10 forks source link

Add pxd files for all specs. #110

Closed abhinav closed 8 years ago

abhinav commented 8 years ago

Making specs proper cdef classes and cythonizing validation helpers improves performance measurably.

Before:

---------------------------------------------- benchmark: 4 tests ---------------------------------------------
Name (time in ms)            Min       Max      Mean  StdDev    Median     IQR  Outliers(*)  Rounds  Iterations
---------------------------------------------------------------------------------------------------------------
test_binary_dumps       125.0720  128.1979  126.4458  1.1813  126.4951  1.5541          2;0       5           1
test_binary_loads       495.3928  510.6471  502.1579  5.5150  501.4639  5.5938          2;0       5           1
---------------------------------------------------------------------------------------------------------------

After:

---------------------------------------------- benchmark: 4 tests ---------------------------------------------
Name (time in ms)            Min       Max      Mean  StdDev    Median     IQR  Outliers(*)  Rounds  Iterations
---------------------------------------------------------------------------------------------------------------
test_binary_dumps        62.5141   70.6010   65.9622  3.2110   66.6659  4.5194          2;0       5           1
test_binary_loads       270.0222  276.7150  273.3597  2.8138  273.1581  4.8929          2;0       5           1
---------------------------------------------------------------------------------------------------------------

(This is the same benchmark as #109 but without the changes from that PR.)

abhinav commented 8 years ago

Build failure because Travis is using an old version of PyPy. I'm gonna update the travis.yml.

HelloGrayson commented 8 years ago

This is a big deal.

:ship: :ship: :ship:

HelloGrayson commented 8 years ago

(looks like code coverage is mad)

HelloGrayson commented 8 years ago

:shipit: