lua-users home
lua-l archive

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


On Tue, 01 Jun 2010 15:47:07 +0300, Roberto Ierusalimschy <roberto@inf.puc-rio.br> wrote:

>How things are working now?

With the modified stepmul logic and this fix -- great.

Do you think the modified stepmul logic is needed, with the fix?

I'm afraid so. Consider how it works just with the fix:

==========================================================================
$ time ./lua ~/P/gengc-test.lua 500 1000 120 0
shrt lastm 18111339 -> 18111339 totalb 18111175 (-208) debt +44 -> -21733320 shrt lastm 18111339 -> 18111339 totalb 18167551 (-21664248) debt +36 -> -21801000 shrt lastm 18111339 -> 18111339 totalb 18211639 (-21756472) debt +16 -> -21853920
OK, done, maxalloc =    39031.315429688 , #t =  1001

real    0m1.112s
user    0m1.052s
sys     0m0.052s

$ time ./lua ~/P/gengc-test.lua 500 1000 10 0
shrt lastm 18111338 -> 0 totalb 18111174 (-208) debt +44 -> -1811110
full lastm 0 -> 18167506 totalb 18167506 (-1742060) debt +14 -> -1816750
shrt lastm 18167506 -> 0 totalb 18167506 (-1816332) debt +38 -> -1816750
full lastm 0 -> 18167506 totalb 18167506 (-1816332) debt +38 -> -1816750
shrt lastm 18167506 -> 0 totalb 18167506 (-1816332) debt +38 -> -1816750
full lastm 0 -> 18167506 totalb 18167506 (-1816332) debt +38 -> -1816750
shrt lastm 18167506 -> 0 totalb 18167506 (-1816332) debt +38 -> -1816750
full lastm 0 -> 18167506 totalb 18167506 (-1816332) debt +38 -> -1816750
shrt lastm 18167506 -> 0 totalb 18167506 (-1816332) debt +38 -> -1816750
full lastm 0 -> 18167506 totalb 18167506 (-1816332) debt +38 -> -1816750
shrt lastm 18167506 -> 0 totalb 18167506 (-1816332) debt +38 -> -1816750
full lastm 0 -> 18167506 totalb 18167506 (-1816332) debt +38 -> -1816750
shrt lastm 18167506 -> 0 totalb 18167506 (-1816332) debt +38 -> -1816750
full lastm 0 -> 18167506 totalb 18167506 (-1816332) debt +38 -> -1816750
shrt lastm 18167506 -> 0 totalb 18167506 (-1816332) debt +38 -> -1816750
full lastm 0 -> 18167506 totalb 18167506 (-1816332) debt +38 -> -1816750
shrt lastm 18167506 -> 0 totalb 18167506 (-1816332) debt +38 -> -1816750
full lastm 0 -> 18167506 totalb 18167506 (-1816332) debt +38 -> -1816750
shrt lastm 18167506 -> 0 totalb 18167506 (-1816332) debt +38 -> -1816750
full lastm 0 -> 18167506 totalb 18167506 (-1816332) debt +38 -> -1816750
shrt lastm 18167506 -> 0 totalb 18167506 (-1816332) debt +38 -> -1816750
full lastm 0 -> 18167506 totalb 18167506 (-1816332) debt +38 -> -1816750
shrt lastm 18167506 -> 0 totalb 18167506 (-1816332) debt +38 -> -1816750
full lastm 0 -> 18167506 totalb 18167506 (-1816332) debt +38 -> -1816750
shrt lastm 18167506 -> 0 totalb 18167506 (-1816332) debt +38 -> -1816750
OK, done, maxalloc =    19515.423828125 , #t =  1001

real    0m1.735s
user    0m1.692s
sys     0m0.016s
==========================================================================

Since short collection frequency is tied to the totalbytes, it either
collects rarely (gcpause > 100%) or it always triggers fullgc (gcpause < 100%)