On 2017.04.10 at 13:14 +0100, Richard Earnshaw (lists) wrote: > On 10/04/17 12:06, Segher Boessenkool wrote: > > On Mon, Apr 10, 2017 at 12:52:15PM +0200, Markus Trippelsdorf wrote: > >>> --param ggc-min-heapsize=131072 > >>> 11264.89user 311.88system 24:18.69elapsed 793%CPU (0avgtext+0avgdata > >>> 1265352maxresident)k > >> > >> --param ggc-min-heapsize=262144 > >> 10778.52user 336.34system 23:15.71elapsed 796%CPU (0avgtext+0avgdata > >> 1277468maxresident)k > >> > >>> --param ggc-min-heapsize=393216 > >>> 10655.42user 347.92system 23:01.17elapsed 796%CPU (0avgtext+0avgdata > >>> 1280476maxresident)k > >>> > >>> --param ggc-min-heapsize=524288 > >>> 10565.33user 352.90system 22:51.33elapsed 796%CPU (0avgtext+0avgdata > >>> 1506348maxresident)k > > > > So 256MB gets 70% of the speed gain of 512MB, but for only 5% of the cost > > in RSS. 384MB is an even better tradeoff for this testcase (but smaller > > is safer). > > > > Can the GC not tune itself better? Or, not cost so much in the first > > place ;-) > > > > > > Segher > > > > I think the idea of a fixed number is that it avoids the problem of bug > reproducibility in the case of memory corruption.
Please note that you will get fixed numbers (defined in gcc/params.def) for all non-release compiler configs. For release builds the numbers already vary according to the host. They get calculated in ggc-common.c. -- Markus