From: hooft@fys.ruu.nl (Rob Hooft) Subject: Jumptable Performance (Was: Re: shared libs - can everyone be happy with this?) Date: Tue, 18 Aug 1992 08:04:37 GMT
In <NOP.92Aug17135014@theory.Mankato.MSUS.EDU> nop@theory.Mankato.MSUS.EDU (Jay A. Carlson) writes:
>I'm not sure that all this trouble is worth it. Does anyone have any
>hard data on the performance loss of jump tables?
Well, I think the only way to correctly test thi is to run the BYTE
bench again. Especially the 'concurrent shell script' part. I didn't
do this yet, but I had a very strange experience with the jumptables
yesterday, and it is reproducible (so far).
I compiled the 'flops.c' V1.2 program thas has been posted to
comp.benchmarks last february. This is a program, as the name implies,
that tests the FPU and certainly not the library. On my 486/33 results were:
gcc -O6 -N -s -o flops flops.c ===> 1.65 Mflops
gcc -O6 -N -s -o flops flops.c -jump ===> 1.70 Mflops
(Note that I didn't try to -m486 the thing... yet. And: yes: I know that -O6 is
not better than -O2)
I didn't believe this, so I repeated it many times. Is there any one
who has an explanation for the fact that the '-jump'ed executable is
3% faster? Could this be caused by a difference in the crt0.o?
For the people that are interested in performance, some more results:
gcc -O6 -N -s -o flops flops.c -jump -fomit-frame-pointer -funroll-all-loops
===> 1.80 Mflops
gcc -O6 -N -s -o flops flops.c -jump -msoft-float
===> 0.60 Mflops
-- Rob Hooft, Bijvoet Center for Biomolecular Research, Chemistry department University of Utrecht, the Netherlands hooft@hutruu54.bitnet hooft@chem.ruu.nl hooft@fys.ruu.nl hooft@cc.ruu.nl