fyi: egcs performance.
Tyson Dowd
trd at cs.mu.oz.au
Mon Dec 15 19:09:25 AEDT 1997
Hi folks,
egcs-1.0 (the new experimental development branch of gcc) was released
a little while ago. Apparently it has a new instruction scheduler and
better support for Pentium and PPro, so I tried it out on hydra.
----------------------------
The installed compiler (EXTRA_MCFLAGS=-O3 --opt-space) with gcc:
-rwxr-xr-x 1 fjh pgrad 3242273 Dec 11 06:24 mercury_compile*
compiling make_hlds.m:
47.190u 0.890s 0:49.10 97.9% 0+0k 0+0io 701pf+0w
47.120u 0.780s 0:49.02 97.7% 0+0k 0+0io 701pf+0w
47.060u 0.750s 0:48.86 97.8% 0+0k 0+0io 701pf+0w
----------------------------
The compiler (EXTRA_MCFLAGS=-O3 --opt-space) with egcs:
-rwx------ 1 trd pgrad 2750492 Dec 11 17:08 mercury_compile*
compiling make_hlds.m:
46.210u 0.860s 0:47.99 98.0% 0+0k 0+0io 777pf+0w
46.060u 0.960s 0:47.98 97.9% 0+0k 0+0io 777pf+0w
46.140u 0.760s 0:47.84 98.0% 0+0k 0+0io 777pf+0w
So it's 15% smaller and 2% faster.
----------------------------
Using egcs with -O2 rather than just -O:
-rwx------ 1 trd pgrad 2754440 Dec 11 18:21 mercury_compile*
compiling make_hlds.m:
46.980u 0.890s 0:48.51 98.6% 0+0k 0+0io 778pf+0w
46.810u 0.830s 0:48.07 99.1% 0+0k 0+0io 778pf+0w
46.870u 0.800s 0:48.19 98.9% 0+0k 0+0io 778pf+0w
Still around 15% smaller, but less than 1% faster.
When I get around to it, I might try maximum optimization.
The options I used were:
-fno-exceptions -mpentiumpro -mcpu=pentiumpro -march=pentiumpro
(you probably don't need all these, but I wanted to be sure).
(no-exceptions means it won't necessarily work when linked with C++ code).
--
Tyson Dowd #
# Linux versus Windows is a
trd at cs.mu.oz.au # Win lose situation.
http://www.cs.mu.oz.au/~trd #
More information about the developers
mailing list