[Michael Hudson] > Beats me. I still see a healthy speed up: > > Before: > > $ ./python ../Lib/test/pystone.py > Pystone(1.1) time for 50000 passes = 3.99 > This machine benchmarks at 12531.3 pystones/second > > After: > > $ ./python ../Lib/test/pystone.py > Pystone(1.1) time for 50000 passes = 3.65 > This machine benchmarks at 13698.6 pystones/second > > (which is nosing on for 10% faster, actually). > > You're not testing a debug vs a release build or anything like that > are you? I'm not, but I was comparing -O times (in release builds). Three runs before patch: C:\Code\python\PCbuild>python -O ../lib/test/pystone.py Pystone(1.1) time for 50000 passes = 3.49756 This machine benchmarks at 14295.7 pystones/second C:\Code\python\PCbuild>python -O ../lib/test/pystone.py Pystone(1.1) time for 50000 passes = 3.49881 This machine benchmarks at 14290.6 pystones/second C:\Code\python\PCbuild>python -O ../lib/test/pystone.py Pystone(1.1) time for 50000 passes = 3.52653 This machine benchmarks at 14178.2 pystones/second Three runs after patch: C:\Code\python\PCbuild>python -O ../lib/test/pystone.py Pystone(1.1) time for 50000 passes = 3.74291 This machine benchmarks at 13358.6 pystones/second C:\Code\python\PCbuild>python -O ../lib/test/pystone.py Pystone(1.1) time for 50000 passes = 3.74544 This machine benchmarks at 13349.6 pystones/second C:\Code\python\PCbuild>python ../lib/test/pystone.py Pystone(1.1) time for 50000 passes = 3.74487 This machine benchmarks at 13351.6 pystones/second Three runs after commenting out the new if (tstate->c_tracefunc != NULL && !tstate->tracing) { /* see maybe_call_line_trace for expository comments */ maybe_call_line_trace(opcode, tstate->c_tracefunc, tstate->c_traceobj, f, &instr_lb, &instr_ub); } on the eval-loop critical path: C:\Code\python\PCbuild>python ../lib/test/pystone.py Pystone(1.1) time for 50000 passes = 3.59444 This machine benchmarks at 13910.4 pystones/second C:\Code\python\PCbuild>python ../lib/test/pystone.py Pystone(1.1) time for 50000 passes = 3.59211 This machine benchmarks at 13919.4 pystones/second C:\Code\python\PCbuild>python ../lib/test/pystone.py Pystone(1.1) time for 50000 passes = 3.59742 This machine benchmarks at 13898.9 pystones/second OTOH, MSVC 6 has been generating faster ceval.c code than gcc for a long time; given how touchy this is, maybe it's just time for gcc to win 587 coin flips in a row <wink>.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4