------- Comment #4 from ludovic at ludovic-brenta dot org 2007-12-09 20:48
-------
First, read http://gcc.gnu.org/ml/gcc/2006-10/msg00303.html for a
little background information on ZCX and SJLJ in Ada.
Steps to reproduce:
- bootstrap with ada enabled (i.e. ../gcc/configure
--enable-languages=ada)
$ rm gcc/ada/rts/g-catiio.{ali,o}
$ cd gcc/ada/rts
$ time ../../gnat1 -quiet -dumpbase g-catiio.adb -O2 -W -Wall -g -gnatpg
-mtune=generic -gnatO g-catiio.o g-catiio.adb
This will show you a reference time building the ZCX version.
In my case (2.0 Ghz AMD Turion 64):
real 0m4.238s
user 0m3.664s
sys 0m0.060s
Now, edit gcc/ada/rts/system.ads; change ZCX_By_Default from True to
False. This switches the run-time library to SJLJ. Then, compile
again:
$ rm gcc/ada/rts/g-catiio.{ali,o}
$ cd gcc/ada/rts
$ time ../../gnat1 -quiet -dumpbase g-catiio.adb -O2 -W -Wall -g -gnatpg
-mtune=generic -gnatO g-catiio.o g-catiio.adb
In my case:
real 275m44.310s
user 271m41.839s
sys 0m9.585s
--
ludovic at ludovic-brenta dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|WAITING |UNCONFIRMED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34400