Tupshin Harper wrote:
Leopold Toetsch wrote:Did you have an optimized parrot compile? ( make progclean ; perl Configure.pl ... --optimize ; make -s)
No I hadn't, but I just did, using those exact commands(no additional options to Configure.pl), and had no perceivable performance change using any of the parrot variances(default, -P, -j).
There sould be some advantage for non JIT runloops.
... Is there a way to verify that an optimized build was truly made? Did you expect to see much of any difference? GCC issues(running 3.2.3)?
You sould see some -Ox in Makefile's CFLAGS. The 'x' is taken from your perl5 build options.
I have now checked in slightly modified versions:
- s/mod/cmod/ this is what C has
- made a real subroutine in primes2.pasm
- omitted printing, only summary
- reduced first count to 50000.
parrot -j is only slightly slower then -O3 primes*.c on my system.
$ time imcc -j examples/benchmarks/primes2.pasm
N primes calculated to 10000 is 1230
last is: 9973
real 0m2.219s
$ cc -O3 examples/benchmarks/primes2.c && time ./a.out
real 0m1.936s
$ time imcc -j examples/benchmarks/primes.pasm
real 0m3.902s
$ cc -O3 examples/benchmarks/primes.c && time ./a.out
real 0m3.497s
I don't have the time to give .pl and .py timings here:)
(Athlon 800; i386/linux; all -O3; gcc 2.95.2)
-Tupshin
Thanks for your contributions. leo