On Jul 10, 2008, at 1:01 PM, Jeremie Lasalle Ratelle wrote:
Hi, I just installed ubuntu 8.04 and it seems that gcc 4.2.3 isn't able to compile large files using --enable-single-host.
We tried compiling a 6000 lines file and a 16000 lines file. (Generated from Jazz modules)
Using enable-single-host, both of them are still compiling after 10 minutes. Without enable-single-host it takes 1 minute for the 6000 one and the 16000 one is still going on after 10 minutes.
On Apple gcc 4.0.1 it takes 1.5 minute to compile the 16000 lines file with enable-single-host In windows on gcc-mingw-3.4.5 it takes about 20 seconds with enable- single-host.
Could this be some serious regression?...
Yes.
I've been reporting inefficiencies in gcc compiling Gambit-generated C code for years. See the open bugzilla report
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26854
opened in 2006; the most recent improvements were checked in in January (to the branch that became 4.3.0) and in May (to the branch that is developing the new register allocator, likely to be integrated into 4.4.0). The main problem now is that gobs of memory are needed to compile truly large Scheme->C files with recent versions of gcc; the example in the bugzilla report takes 7.3GB (but < 3 minutes on a 2.2 GHz Opteron, so it should take about 90 sec on a recent Core 2 Duo).
I've just added a note with recent timing results to the bugzilla report, noting that the compilers that
I'd suggest looking at top to see how much memory cc1 is taking when compiling; if you run out of real memory it probably won't finish in any reasonable amount of time.
If you like I can try sometime in the next few weeks to see if some options on the gcc side or on the gambit side could reduce the compilation time to something reasonable.
Brad