I use SeaMonkey since its first releases on Gentoo. As you probably know, everything on a personal Gentoo installation can be (easily) compiled. Now the problem: building SeaMonkey is getting more and more onerous in terms of compilation times and RAM requirements; AFAIK, FireFox suffers from the same issues.
Just to give you an idea of how the compilation burden has increased over time, I post here the same stats already reported on Gentoo Forums:
Code: Select all
$ ./emergetstat seamonkey
Emerge time stats for 'seamonkey':
------------------------------------------------------
version : h m s : tot m
------------------------------------------------------
1.1.1 : 1h 0m 13s : 60.22m ***********
1.1.10 : 0h 24m 24s : 24.40m *****
1.1.11 : 0h 26m 0s : 26.00m *****
1.1.12 : 0h 25m 53s : 25.88m *****
1.1.13 : 0h 22m 44s : 22.73m ****
1.1.14 : 0h 23m 43s : 23.72m ****
1.1.15 : 0h 31m 44s : 31.73m ******
1.1.17 : 0h 24m 29s : 24.48m *****
1.1.18 : 0h 39m 7s : 39.12m *******
1.1.2 : 1h 1m 27s : 61.45m ***********
1.1.3 : 0h 28m 46s : 28.77m *****
1.1.4 : 0h 26m 45s : 26.75m *****
1.1.5 : 0h 24m 12s : 24.20m *****
1.1.6 : 0h 30m 41s : 30.68m ******
1.1.7 : 0h 25m 10s : 25.17m *****
1.1.8 : 0h 25m 46s : 25.77m *****
1.1.9 : 0h 24m 59s : 24.98m *****
1.1.9-r1 : 0h 23m 21s : 23.35m ****
2.0.10 : 0h 48m 24s : 48.40m *********
2.0.11 : 0h 47m 44s : 47.73m ********
2.0.11-r1 : 0h 46m 31s : 46.52m ********
2.0.11-r2 : 0h 59m 19s : 59.32m **********
2.0.12 : 0h 59m 8s : 59.13m **********
2.0.13 : 0h 53m 51s : 53.85m *********
2.0.14 : 0h 48m 20s : 48.33m *********
2.0.14-r1 : 0h 46m 8s : 46.13m ********
2.0.4-r1 : 0h 46m 16s : 46.27m ********
2.0.4-r2 : 0h 46m 18s : 46.30m ********
2.0.5 : 0h 46m 30s : 46.50m ********
2.0.6 : 0h 45m 50s : 45.83m ********
2.0.7 : 0h 44m 1s : 44.02m ********
2.0.8 : 0h 45m 24s : 45.40m ********
2.0.8-r1 : 0h 44m 48s : 44.80m ********
2.0.9 : 0h 50m 3s : 50.05m *********
2.1 : 0h 47m 58s : 47.97m *********
2.2-r2 : 1h 7m 24s : 67.40m ************
2.3.1 : 1h 8m 38s : 68.63m ************
2.3.2 : 0h 56m 35s : 56.58m **********
2.3.3 : 1h 1m 3s : 61.05m ***********
2.4.1-r1 : 1h 11m 47s : 71.78m ************
2.6.1 : 1h 45m 33s : 105.55m ******************
2.7.1 : 1h 38m 36s : 98.60m *****************
2.7.1-r1 : 1h 37m 46s : 97.77m *****************
2.8 : 1h 55m 19s : 115.32m ********************
2.9 : 1h 54m 0s : 114.00m ********************
I'm not here to discuss about possible bloat creeping in with the last releases, which could be anyway managed via proper compilation switches (that's indeed the Gentoo way of USE flags). Rather, I'd like to find a way to optimize the build process.
In my case (dual AMD Turion 1.6 + 2.3GiB RAM), I can clearly see that the show stopper is the linker (ld) sucking up to 1.5GiB, which punctually sends my laptop into the dreadful quagmires of Swapland. Please note that the stats above are quite realistic, since at the first thrashing sign I always promptly freed up some memory.
So, is there a way to reduce ld's RAM footprint? Provided that the time penalty is not excessive. Could anybody please comment on the following or other ld options?
Code: Select all
--no-keep-memory
--reduce-memory-overheads
Cheers,
-- ^s