Hi All,

We applied compiler assisted optimization technique called PGO or Profile 
Guided Optimization while building PyPy, and found performance got improved by 
up to 22.4% on the Grand Unified Python Benchmark (GUPB) from “hg clone 
https://hg.python.org/benchmarks”.  The below result table shows majority of 51 
micros got performance boost with 8 got performance regression.

Benchmark       Baseline        PGO
        Perf Delta %
hg_startup      0.0160  0.0124  22.4
2to3    6.1157  5.1978  15.0
html5lib        4.9263  4.1961  14.8
formatted_logging       0.0463  0.0399  13.9
regex_v8        0.1394  0.1206  13.5
simple_logging  0.0328  0.0289  11.9
html5lib_warmup 2.5411  2.2939  9.7
bzr_startup     0.0686  0.0621  9.6
unpack_sequence 0.0001  0.0001  8.6
normal_startup  0.8694  0.7983  8.2
regex_compile   0.0707  0.0657  7.0
json_load       0.2924  0.2734  6.5
fastpickle      1.7315  1.6290  5.9
tornado_http    0.0707  0.0665  5.8
pickle_list     1.8614  1.7897  3.9
slowunpickle    0.0260  0.0250  3.8
slowpickle      0.0336  0.0323  3.7
telco   0.0194  0.0187  3.7
pathlib 0.0171  0.0165  3.2
go      0.1069  0.1036  3.1
slowspitfire    0.2624  0.2547  2.9
etree_generate  0.1037  0.1008  2.8
silent_logging  0.0000  0.0000  2.8
pickle_dict     3.2698  3.1796  2.8
spambayes       0.0581  0.0566  2.6
startup_nosite  0.5691  0.5549  2.5
chameleon_v2    2.7629  2.7009  2.2
etree_parse     0.5610  0.5505  1.9
etree_process   0.0725  0.0712  1.9
regex_effbot    0.0377  0.0371  1.7
fastunpickle    0.8521  0.8382  1.6
float   0.0171  0.0169  0.9
pidigits        0.3833  0.3801  0.8
call_method_unknown     0.0123  0.0122  0.6
hexiom2 15.8354 15.7533 0.5
etree_iterparse 0.2102  0.2094  0.4
chaos   0.0089  0.0088  0.2
spectral_norm   0.0099  0.0099  0.2
call_simple     0.0102  0.0102  0.1
mako_v2 0.0204  0.0204  0.1
fannkuch        0.2262  0.2260  0.1
unpickle_list   0.6448  0.6449  0.0
call_method_slots       0.0106  0.0106  0.0
call_method     0.0106  0.0106  -0.1
raytrace        0.0210  0.0210  -0.2
richards        0.0042  0.0043  -1.6
json_dump_v2    0.9288  0.9501  -2.3
django_v3       0.0551  0.0570  -3.4
meteor_contest  0.0984  0.1021  -3.8
nbody   0.0446  0.0463  -3.8
nqueens 0.0498  0.0525  -5.4


        Average 3.6


We’d like to get some input on how to contribute our optimization recipe to the 
PyPy dev tree, perhaps by creating an item to the PyPy issue tracker?   In 
addition, we would also appreciate any other benchmark or real world use based 
workload as alternatives to evaluate this.

Thanks,
Yash
_______________________________________________
pypy-dev mailing list
pypy-dev@python.org
https://mail.python.org/mailman/listinfo/pypy-dev

Reply via email to