[Python-Dev] Re: Who cares about the performance of these opcodes? (original) (raw)
Andrew MacIntyre andymac at bullseye.apana.org.au
Tue Mar 9 17:07:04 EST 2004
- Previous message: [Python-Dev] Re: Who cares about the performance of these opcodes?
- Next message: [Python-Dev] Re: Re: Who cares about the performance of these opcodes?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Tue, 9 Mar 2004, A.M. Kuchling wrote:
For a planned PyCon lightning talk, I'm benchmarking various combinations of optimizer options. One interesting result: CVS Python gets 25997 pystones on my machine when compiled with -O3 (the default), but 26707 when compiled with gcc's -Os flag. -Os optimizes for size, running the subset of the -O2 optimizations that don't increase code size.
In my own experiments along these lines, I found that the best results with various versions of gcc (2.8.1, 2.95.2, 3.2.1 on OS/2; 2.95.4, 3.2.3, 3.3.2 on FreeBSD) was to compile ceval.c with -Os (-O2 on 2.8.1, which doesn't have -Os) and the rest of Python with -O3.
The OS/2 builds were running on an AMD Athlon 1.4GHz (Thunderbird core), and the FreeBSD builds were running on an AMD Athlon XP 1600. With the compilers that support -march=athlon[-xp], another 4-5% can be had too. The OS/2 builds also have -fomit-frame-pointer, which makes them marginally faster than the FreeBSD builds of the same gcc version and optimisation level.
I haven't seen your results (full -Os build as fast or faster than full -O3 build), although compiling with -Os with gcc 3.2.x is as fast as -O3 with 2.95 and earlier.
Regards, Andrew.
-- Andrew I MacIntyre "These thoughts are mine alone..." E-mail: andymac at bullseye.apana.org.au (pref) | Snail: PO Box 370 andymac at pcug.org.au (alt) | Belconnen ACT 2616 Web: http://www.andymac.org/ | Australia
- Previous message: [Python-Dev] Re: Who cares about the performance of these opcodes?
- Next message: [Python-Dev] Re: Re: Who cares about the performance of these opcodes?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]