2.3 for Unix

Markus Kohler markus_kohler at hp.com
Thu Feb 4 09:09:48 UTC 1999


Marcus Denker wrote:
> 
> On Tue, Feb 02, 1999 at 01:28:19PM +0100, Bert Freudenberg wrote:
> > One thing I noticed is that glibc is a lot slower?!  See this Integer
> > benchmarks:
> >
> > Ian's i386-linux-2.0.36 (glibc):      14662000
> > Ian's i386-linux-2.1.24 (libc):               21097000
> > My    i386-linux-2.0.33 (libc):               19841000
> >
> > Any explanation?
> >
> Yep, different compiler (egcs Vs. gcc).
> 
> You can get this info with:
> 
>  marcus at wombat:~ $ strings /usr/bin/squeakvm |grep gcc
>  gcc 2.7.2.3
> 
> Some tests: (Pentium, 133Mhz, DebianLinux)
> 
> SqueakVM-2.3-i386-linux-2.1.24 (libc, gcc 2.7.2.1)
> 
>  '6097560 bytecodes/sec; 312410 sends/sec'
> 
> SqueakVM-2.3-i386-linux-2.0.36 (glibc, gcc egcs-2.91.60)
>  '5208333 bytecodes/sec; 300894 sends/sec'
> 
> The strange thing is, that egcs should produce *faster* code.
> (egcs is the development Version of gccV3)
> 
> I think that the interpretation of the flag "-O2" is a little
> bit different when egcs is used.
> 
> The Squeak Makefiles use following optimization-flags:
> -O2 -malign-functions=2 -malign-jumps=3 -malign-loops=2
> 
> My own (/usr/bin/squeakvm), glibc, gcc 2.7.2.3
>  '6578947 bytecodes/sec; 343850 sends/sec' my own (glibc)
> 
> compiled (gcc) with:
> 
> -O2 -fomit-frame-pointer -m486 -malign-functions=2 -malign-jumps=3
>     -malign-loops=2
> 
> So these strange options really help with performance...
> 
> Using a *very* old version (egcs-2.90.26 980308 (egcs-1.0.2 prerelease))
> and Options: -O5 -mpentium:
> 
>  '7042253 bytecodes/sec; 362387 sends/sec'
> 

That's an impressive improvement ! 
There are performance problems with some versions of egcs. I think the 
newest version (1.1 ?) should fix this. 

There's also a special pgcc for pentium's. It should be the fastest
compiler
for X86 based Linux machines. 

By the way I get 11111111 bytecodes/sec on a C180 (HP-UX 10.20) with
egcs 1.02. 
This is a bit low since a G3 seems to produce more than 20000000
bytecodes/sec at
a similiar clock speed.  


It's interesting to note that the "normal" interpreter runs much faster
if I compile
it with the HP compiler. So If I could compile the gnuified interpreter
with the
HP compiler I could probably get a significant speedup. To bad that I
have no idea 
about PA-RISC assembler :-(


Markus
-- 
Markus Kohler  mailto:markus_kohler at hp.com





More information about the Squeak-dev mailing list