I found some interesting differences using the Linux perf tool. # perf stat -e L1-icache-loads,L1-icache-load-misses ./python performance/benchmarks/bm_call_method.py --inherit=PYTHONPATH -v --worker -l1 -n 25 -w0
2016-11-04 23:35 GMT+01:00 Victor Stinner <victor.stin...@gmail.com>: > (1) ce85a1f129e3: 17 ms => 83877018ef97 (Oct 18): 25 ms > > https://hg.python.org/cpython/rev/83877018ef97 Comparison of metrics of rev ce85a1f129e3 (fast) => rev 83877018ef97 (slow): L1-icache-load-misses: 0.06% => 8.41% of all L1-icache hits Instructions per cycle: 2.38 => 1.41 stalled-cycles-frontend: 12.99% => 42.85% frontend cycles idle stalled-cycles-backend: 2.28% => 21.36% backend cycles idle So it confirms what I expected: call_method() is highly impacted by the CPU L1 instruction cache. I don't know exactly why the revision 83877018ef97 has an impact on the CPU L1 cache. Victor _______________________________________________ Speed mailing list Speed@python.org https://mail.python.org/mailman/listinfo/speed