On Thu, 19 Jul 2001, Andreas Jaeger wrote: >> Here at DBAI, for example, we simply cannot use GCC 3.0 because it's >> an order of magnitude slower while generating larger and also slower >> binaries. I don't know, though, what this means for KDE and other >> code you need to compile as part of your GNU/Linux distribution. > So, your advice for distributors would be to wait for GCC 3.1 - or use > a compiler taken from the GCC 3.1 branch ... [...] > ... unless somebody improves the GCC 3.0 branch significantly? Yes. Or, use GCC 3.0 for all languages except C++ and ship another, newer version for C++. Unfortunately, such another, newer version does not exist yet (the current CVS head is even worse than GCC 3.0), so you might need to use GCC 2.95 for C++ sources and your users requiring C++. (Which is, of course, *very* weird, considering that improved C++ support is one of the most important features of GCC 3.0.) > Btw. what are exactly the problems you're facing with GCC 3.0? Compile times (and memory usage) are going through the roof due to the tree-based inliner and the new libstdc++, and the generated binaries are larger and often (sensibly) slower. Today I performed benchmarks using a computational logic programming system called DLV ( http://www.dbai.tuwien.ac.at/proj/dlv ) which uses template and STL heavy C++ code on one of our ia32 boxes. It's just one binary, but the benchmarks exercise completely different modules and thus types of code. And the results are, well, depressing: Specifically, compare compile times and -O0 and -O3 of 2.95 versus 3.0! (I'd really be interested to see how build times compare for KDE, Gnome or other heavy C++ code, ideally also benchmarks.) Gerald GCC 2.95 GCC 3.0 Compile time Binary size Compile time Binary Size -O0 6:19 3915128 8:20 4159780 -O1 4:20 4203480 11:40 4829732 -O2 5:56 4209368 14:09 4862532 -O3 5:47 4221464 32:04 6166052 2.95 -O0 |2.95 -O1|2.95 -O2|2.95 -O3| 3.0 -O0 | 3.0 -O1| 3.0 -O2| 3.0 -O3| ============================================================================+ STRATCOMP1-ALL | | 14.07 | 8.20 | 8.28 | 8.09 | 115.09 | 110.63 | 94.47 | 94.35 | STRATCOMP-770.2-Q | | 4.73 | 1.43 | 1.44 | 1.30 | 6.12 | 1.64 | 1.46 | 1.44 | 2QBF1 | | | 84.64 | 27.01 | 25.75 | 25.78 | 132.42 | 37.78 | 35.30 | 40.93 | PRIMEIMPL2 | | | 118.51 | 20.01 | 19.35 | 18.87 | 190.20 | 27.21 | 24.54 | 28.85 | ANCESTOR | | | 48.66 | 13.89 | 13.79 | 13.18 | 58.68 | 12.67 | 12.47 | 11.72 | 3COL-SIMPLEX1 | | 44.60 | 13.62 | 13.49 | 12.05 | 53.87 | 12.11 | 12.61 | 11.91 | 3COL-LADDER1| | | 218.88 | 62.88 | 59.50 | 57.33 | 306.52 | 73.05 | 71.62 | 80.45 | 3COL-N-LADDER1 | | 110.45 | 24.72 | 23.09 | 24.36 | 178.58 | 27.58 | 25.78 | 28.44 | 3COL-RANDOM1| | | 106.49 | 20.74 | 20.24 | 19.50 | 173.43 | 26.04 | 23.82 | 26.58 | HP-RANDOM1 | | | 50.18 | 16.62 | 16.64 | 14.82 | 82.80 | 16.35 | 16.65 | 16.28 | HAMCYCLE-FREE | | 11.18 | 2.70 | 2.63 | 2.10 | 20.91 | 3.20 | 2.96 | 2.49 | DECOMP2 | | | 159.62 | 35.21 | 35.41 | 33.76 | 196.10 | 29.71 | 29.81 | 34.68 | BW-P4-Esra-a| | | 359.78 | 110.74 | 109.56 | 108.27 | 557.31 | 118.59 | 115.80 | 122.23 | BW-P5-nopush| | | 31.00 | 8.82 | 8.73 | 8.48 | 46.51 | 9.12 | 8.90 | 9.39 | BW-P5-pushbin | | 32.26 | 8.20 | 7.99 | 7.82 | 49.46 | 8.68 | 8.21 | 8.81 | BW-P5-nopushbin | | 11.30 | 2.91 | 2.90 | 2.71 | 16.68 | 2.92 | 2.92 | 3.05 | 3SAT-1 | | | 363.47 | 63.99 | 61.34 | 63.08 | 577.92 | 81.84 | 74.44 | 83.96 | 3SAT-1-CONSTRAINT | | 207.35 | 36.67 | 32.39 | 32.81 | 343.00 | 43.70 | 39.51 | 46.89 | HANOI-Towers| | | 25.71 | 6.80 | 6.74 | 6.25 | 31.30 | 6.18 | 5.85 | 6.59 | RAMSEY | | | 56.77 | 16.00 | 15.55 | 14.00 | 76.73 | 16.35 | 16.71 | 14.99 | CRISTAL | | | 54.62 | 16.57 | 16.09 | 14.95 | 66.37 | 17.54 | 16.29 | 15.37 | HANOI-K | | | 361.15 | 64.51 | 59.92 | 58.67 | 563.88 | 77.92 | 71.98 | 80.24 | 21-QUEENS | | | 88.28 | 19.63 | 18.92 | 18.89 | 175.51 | 23.67 | 22.79 | 24.31 | MSTDir[V=13,A=40] | | 133.41 | 45.45 | 43.67 | 42.18 | 195.41 | 37.55 | 35.80 | 35.59 | MSTDir[V=15,A=40] | | 133.48 | 46.41 | 44.56 | 43.25 | 194.97 | 37.75 | 36.06 | 35.05 | MSTUndir[V=13,A=40] | | 77.61 | 23.47 | 22.87 | 21.37 | 122.09 | 20.18 | 19.24 | 19.16 | MSTUndir[V=15,A=40] | | 1216.05 | 386.56 | 368.97 | 352.86 | 1911.62 | 328.32 | 314.92 | 302.76 | TIMETABLING | | | 93.56 | 26.44 | 25.94 | 24.52 | 125.14 | 26.55 | 24.88 | 25.10 | ============================================================================+ STRATCOMP1-ALL: STRATCOMP, random instance, |companies| = 60, |products| = 180, all sets STRATCOMP-770.2-Q: STRATCOMP, random instance, |companies| = |products| = 770, first model, with query 2QBF1: 2QBF, 1000 all-quantified, 20 existentially-quantified variables 10000 clauses, 5CNF PRIMEIMPL2: Prime Implicants with 180 variables and 774 clauses (all models [246]) ANCESTOR: Double ancestor board of size 14 (only grounding) 3COL-SIMPLEX1: 3COL simplex graph, |edges| = 1980, |nodes| = 1035, one model 3COL-LADDER1: 3COL ladder graph, |edges| = 2998, |nodes| = 2000, one model 3COL-N-LADDER1: 3COL, propositional Niemelä style ladder graph, |edges| = 2998, |nodes| = 2000, one model 3COL-RANDOM1: 3COL random graph, |edges| = 1100, |nodes| = 500, one model HP-RANDOM1: Hamiltonian Path on a random graph, |edges| = 700, |nodes| = 85, one model generated with Stanford Graph Base random_graph(85,700,0,0,0,0,0,1,1,33) undirected graph, represented as a directed one HAMCYCLE-FREE: Hamiltonian Cycle with a free guess. n = 60, one model DECOMP2: query decomposition (k=3), one model BW-P4-Esra-a: blocksworld problem P4 with Esra's bw_domain_a program BW-P5-nopush: blocksworld problem P5 with Axel's C-translation without push BW-P5-pushbin: blocksworld problem P5 with Axel's pushed and binarised C-translation BW-P5-nopushbin: blocksworld problem P5 with Axel's binarised C-translation without push 3SAT-1: 3SAT with 280 variables and 1204 clauses, randomly generated, one model 3SAT-1-CONSTRAINT: 3SAT with 280 variables and 1204 clauses, randomly generated, one model, constraint encoding HANOI-Towers: "Towers of Hanoi" with 3 stacks, 4 disks, and 15 steps. RAMSEY: "Ramsey(3,6) != 17" CRISTAL: "Deductive database use as done by Christoph Koch in CERN" HANOI-K: "Towers of Hanoi" in K with 3 stacks, 4 disks, and 15 steps. 21-QUEENS: "N-Queens with 21 queens" MSTDir[V=13,A=40]: min spanning tree [prim], directed graph with 13 vertices and 40 arcs MSTDir[V=15,A=40]: min spanning tree [prim], directed graph with 15 vertices and 40 arcs MSTUndir[V=13,A=40]: min spanning tree [prim], undirected graph with 13 vertices and 40 arcs MSTUndir[V=15,A=40]: min spanning tree [prim], undirected graph with 15 vertices and 40 arcs TIMETABLING: A timetable problem of the first year of the faculty of Science of University of Calabria for 1 class, one model