This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author collinwinter
Recipients collinwinter, gregory.p.smith, jcea, jyasskin, lauromoura, nnorwitz, phsilva, pitrou, rhettinger, tzot
Date 2009-02-13.18:13:57
SpamBayes Score 4.0413548e-07
Marked as misclassified No
Message-id <1234548840.32.0.696647130726.issue2459@psf.upfronthosting.co.za>
In-reply-to
Content
I don't see the changes to the lnotab format being a roadblock; just
mention it in NEWS. Likewise, the pure-Python compiler package shouldn't
be a high priority; your changes to that package look good enough.

I'm seeing encouraging speed-ups out of this (with gcc 4.3.1 x86_64,
compiling Python as 64-bit):
Django templates (render a 150x150 table 100 times):
Min: 0.595 -> 0.589: 0.94% faster
Avg: 0.599 -> 0.591: 1.30% faster

Spitfire templates (render a 1000x1000 table 100 times):
Min: 0.751 -> 0.729: 2.98% faster
Avg: 0.753 -> 0.730: 3.09% faster

None of the apps I've benchmarked are negatively impacted. I only have
two minor comments. Please commit this.


Review comments:
- The changes to Python/compile.c:compiler_if(), compiler_for(),
compiler_while() have some indentation issues (tabs and such).
- Functions like
def foo():
  while True:
    pass
have a useless JUMP_FORWARD 0 instruction, but I don't think it's worth
teaching the peepholer to remove them since it doesn't happen in other
circumstances (that I can tell).
History
Date User Action Args
2009-02-13 18:14:00collinwintersetrecipients: + collinwinter, nnorwitz, rhettinger, gregory.p.smith, jcea, tzot, pitrou, jyasskin, lauromoura, phsilva
2009-02-13 18:14:00collinwintersetmessageid: <1234548840.32.0.696647130726.issue2459@psf.upfronthosting.co.za>
2009-02-13 18:13:58collinwinterlinkissue2459 messages
2009-02-13 18:13:57collinwintercreate