[Python-Dev] Where the speed is lost! (was: 1.6 speed)
Christian Tismer
tismer@tismer.com
Fri, 28 Apr 2000 02:48:34 +0200
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