Ah-ha. Each time the compiler compiles an expression containing a literal Gmp.mpz creation, it leaks one mapping:
Pike v7.3 release 56 running Hilfe v3.5 (Incremental Pike Frontend)
gc(); _memory_usage()->num_mappings;
(1) Result: 3 (2) Result: 71
for(int i=0; i<1000; i++) compile_string("mixed x = Gmp.mpz(100);");
Ok.
gc(); _memory_usage()->num_mappings;
(3) Result: 0 (4) Result: 1071
/ Marcus Comstedt (ACROSS) (Hail Ilpalazzo!)
Previous text:
2002-09-30 12:49: Subject: Gz testsuite memory usage
Ok, now the frame_bytes are down to reasonable levels:
Doing tests in testsuite (10418 tests) NM: 56, MB: 57304, FB: 11280
Doing tests in modules/CommonLog/module_testsuite (0 tests) NM: 11763, MB: 3687851, FB: 56400
Doing tests in modules/Gdbm/module_testsuite (65 tests) NM: 11763, MB: 3687851, FB: 56400
Doing tests in modules/Gettext/module_testsuite (0 tests) NM: 11763, MB: 3688259, FB: 56400
Doing tests in modules/Gmp/module_testsuite (28743 tests) NM: 11763, MB: 3688259, FB: 56400
Doing tests in modules/Gz/module_testsuite (96 tests) NM: 39106, MB: 12004227, FB: 56400
[...]
The 12 MB mappings are still there though, and from the mapping count it looks like they are actually referenced. So somehow the Gmp testsuite is leaking mappings...
/ Marcus Comstedt (ACROSS) (Hail Ilpalazzo!)