lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


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