
Jeremy Hylton wrote:
"CT" == Christian Tismer <tismer@tismer.com> writes:
CT> Summary: We had two effects here. Effect 1: Wasting time with CT> extra errors in instance creation. Effect 2: Loss of locality CT> due to code size increase.
CT> Solution to 1 is Jeremy's patch. Solution to 2 could be a CT> little renaming of the one or the other module, in order to get CT> the default link order to support locality better.
CT> Now everything is clear to me. My first attempts with reordering CT> could not reveal the loss with the instance stuff.
from here...
CT> All together, Python 1.6 is a bit faster than 1.5.2 if we try to CT> get related code ordered better. ...to here
I was not clear. The rest of it is at least 100% correct.
I reach a different conclusion. The performance difference 1.5.2 and 1.6, measured with pystone and pybench, is so small that effects like the order in which the compiler assembles the code make a difference.
Sorry, it is 10 percent. Please do not shift the topic. I agree that there must be better measurements to be able to do my thoughtless claim ...from here to here..., but the question was raised in the py-dev thread "Python 1.6 speed" by Andrew, who was exactly asking why pystone gets 10 percent slower. I have been hunting that for a week now, and with your help, it is solved.
I don't think we should make any non-trivial effort to improve performance based on this kind of voodoo.
Thanks. I've already built it in - it was trivial, but I'll keep it for my version.
I also question the claim that the two effects here explain the performance difference between 1.5.2 and 1.6. Rather, they explain the performance difference of pystone and pybench running on different versions of the interpreter.
Exactly. I didn't want to claim anything else, it was all in the context of the inital thread. ciao - chris Oops, p.s: interesting: ...
For example, I used the compiler package (in nondist/src/Compiler) to compile itself. Based on that benchmark, an interpreter built from the current CVS tree is still 9-11% slower than 1.5.
Did you adjust the string methods? I don't believe these are still fast. -- Christian Tismer :^) <mailto:tismer@appliedbiometrics.com> Applied Biometrics GmbH : Have a break! Take a ride on Python's Kaunstr. 26 : *Starship* http://starship.python.net 14163 Berlin : PGP key -> http://wwwkeys.pgp.net PGP Fingerprint E182 71C7 1A9D 66E9 9D15 D3CC D4D7 93E2 1FAE F6DF where do you want to jump today? http://www.stackless.com