• Kirill Smelkov's avatar
    X compilebench: Add type annotations to pystone_pyx.pyx · 74daf44d
    Kirill Smelkov authored
    This brings in ~8x speedup with tcc and ~14x speedup for gccO2 compared to what
    we already had for pystone.py already compiled by Cython.
    
    However Cython compilation time is 1.7x slower and compilation time for gcc*
    also raises significantly. For tcc it is "only" 30% more for compilation, but
    still the total tcc compilation time is very very small.
    
    name                    old time/op    new time/op    delta
    pycompile+pyimport        13.0ms ± 0%    13.0ms ± 0%       ~     (all equal)
    pyimport                  12.0ms ± 0%    12.0ms ± 0%       ~     (all equal)
    cython/py                  980ms ± 1%     982ms ± 1%       ~     (p=0.666 n=10+10)
    cython/pyx                 983ms ± 1%    1692ms ± 1%    +72.13%  (p=0.000 n=9+10)
    gcc/compile+link/py        603ms ± 0%     603ms ± 0%       ~     (p=0.766 n=8+10)
    gcc/compile+linkO2/py      2.15s ± 0%     2.15s ± 0%       ~     (p=0.749 n=10+10)
    gcc/compile+link/pyx       603ms ± 0%    1106ms ± 0%    +83.57%  (p=0.000 n=9+10)
    gcc/compile+linkO2/pyx     2.15s ± 0%     3.65s ± 0%    +69.87%  (p=0.000 n=10+10)
    tcc/compile+link/py       36.5ms ± 1%    36.0ms ± 0%     -1.37%  (p=0.022 n=10+9)
    tcc/compile+link/pyx      36.7ms ± 2%    47.5ms ± 3%    +29.43%  (p=0.000 n=10+10)
    
    name                    old pystone/s  new pystone/s  delta
    pystone/py                  227k ± 2%      228k ± 1%       ~     (p=0.182 n=10+9)
    pystone/py/gcc              220k ± 3%      221k ± 4%       ~     (p=0.796 n=10+10)
    pystone/py/gccO2            433k ± 2%      431k ± 5%       ~     (p=1.000 n=10+10)
    pystone/pyx/gcc             221k ± 1%     1855k ± 1%   +737.67%  (p=0.000 n=9+8)
    pystone/pyx/gccO2           435k ± 1%     6239k ± 2%  +1335.52%  (p=0.000 n=10+10)
    pystone/py/tcc              219k ± 2%      219k ± 0%       ~     (p=0.315 n=10+10)
    pystone/pyx/tcc             222k ± 2%     1826k ± 0%   +723.78%  (p=0.000 n=9+9)
    74daf44d
y.txt 7.06 KB