|
Adam D. Moss wrote: [..]
This is only one application, and the data, although reproducable, has some curious spots, but I'll leap to the following recommendations for a good peakmem: 1) STEPMUL somewhere between 10 and 12 2) luaC_step() as in 5.1w2, but with this line removed or improved: g->GCthreshold = 2*g->estimate; (from a quick test it looks like 'g->GCthreshold = g->estimate' works as well as removing the line) This yields (for my app): STEPMUL peakmem FPS(speed) 12 2490K 106 ... versus this for the default 5.1w2 func/settings: STEPMUL peakmem FPS(speed) 2 4532K 109 Finally, here's the same statistic for lua 5.0.2 ! STEPMUL peakmem FPS(speed) n/a 4480K 111
More stats from the same app (the app has had some minor changes so I don't expect the mem-use numbers to particularly line up with the above, but the curve shape should): STEPMUL=2: 5.1w2 with g->GCthreshold = g->estimate; STEPMUL peakmem FPS(speed) 2 3333K 109 (87) 5.1w2 with g->GCthreshold = (g->estimate/8)*9; STEPMUL peakmem FPS(speed) 2 3359K 109 (87) 5.1w2 with g->GCthreshold = (g->estimate/4)*5; STEPMUL peakmem FPS(speed) 2 3553K 109 (88) 5.1w2 with g->GCthreshold = (g->estimate/100)*135; STEPMUL peakmem FPS(speed) 2 4612K+ 111 (90) 5.1w2 with g->GCthreshold = (g->estimate/2)*3; STEPMUL peakmem FPS(speed) 2 4368K+ 109 (93) 5.1w2 with g->GCthreshold = (g->estimate)*2; STEPMUL peakmem FPS(speed) 2 5382K+ 111 (94) (((for fun -- 5.1w2 with g->GCthreshold = (g->estimate)*10; (((STEPMUL peakmem FPS(speed) (((2 33475K 107 (61) STEPMUL=3: 5.1w2 with g->GCthreshold = g->estimate; STEPMUL peakmem FPS(speed) 3 2862K+ 108 (83) 5.1w2 with g->GCthreshold = (g->estimate/8)*9; STEPMUL peakmem FPS(speed) 3 2879K 108 (83) 5.1w2 with g->GCthreshold = (g->estimate/4)*5; STEPMUL peakmem FPS(speed) 3 3612K 111 (88) 5.1w2 with g->GCthreshold = (g->estimate/100)*135; STEPMUL peakmem FPS(speed) 3 3889K+ 110 (89) 5.1w2 with g->GCthreshold = (g->estimate/2)*3; STEPMUL peakmem FPS(speed) 3 4643K+ 110 (92) 5.1w2 with g->GCthreshold = (g->estimate)*2; STEPMUL peakmem FPS(speed) 3 5949K+ 111 (96) The '+' peakmems did not level-off in a reasonable length of time. The values in () indicate speed in the part of my app which seems most affected by GC speed. I wish it were easier to draw conclusions from this data... all I can really see is that the STEPMUL=2 is still probably the winner in general and that the estimate multiplier for the perf/peakmem sweetspot is somewhere below *2.0 (probably more like *1.25). --Adam -- Adam D. Moss . ,,^^ adam@gimp.org http://www.foxbox.org/ co:3