I've uploaded a new patch to Sourceforge in response to feedback: * I purged all // comments and fixed all > 80 characters added by my patch, as per Neil Norwitz. * I added a definition of max() for those who don't already have one, as per email@example.com. It now compiles cleanly on Linux again without modification; sorry for not checking that since the original patch.
I've also uploaded my hacked-together benchmark script, for all that's worth.
That patch tracker page again:
M.-A. Lemburg wrote:
When comparing results, please look at the minimum runtime. The average times are just given to indicate how much the mintime differs from the average of all runs.
I'll do that next time. In the meantime, I've also uploaded a zip file containing the results of my benchmarking, including the stdout from the run and the "-f" file which contains the pickled output. So you can examine my results yourself, including doing analysis on the pickled data if you like.
If however the speedups are not consistent across several runs of pybench, then it's likely that you have some background activity going on on the machine which causes a slowdown in the unmodified run you chose as basis for the comparison.
The machine is dual-core, and was quiescent at the time. XP's scheduler is hopefully good enough to just leave the process running on one core.
I ran the benchmarks just once on my Linux 2.6 machine; it's a dual-CPU P3 933EB (or maybe just 866EB, I forget). It's faster overall there too, by 1.9% (minimum run-time). The two tests I expected to be faster ("ConcatStrings" and "CreateStringsWithConcat") were consistently much faster; beyond that the results don't particularly resemble the results from my XP machine. (I uploaded those .txt and .pickle files too.)
The mystery overall speedup continues, not that I find it unwelcome. :)
Just to make sure: you are using pybench 2.0, right ?
I sure was. And I used stringbench.py downloaded from here: