Jeroen Demeyer on Tue, 20 Jan 2015 16:31:25 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Stack size bugs and parisizemax |
Hello pari-dev,At the atelier you mentioned that it shouldn't hurt to set a small parisize but a large parisizemax. In the light of this, bugs where some computation is much slower with a small parisize are more serious.
I think there should be some general solution to this problem which takes into account the value of parisizemax. The idea should be: do not collect garbage too often if instead we can increase parisize.
For this reason, I'm not completely happy with25b0af6b8510e5b2feaa0d47fababa2fd25921e0. My proposal would be: if parisize < parisizemax, then call gerepileall() at most once per outer loop iteration. Something like:
for (...) /* outer loop */ { int gc_allowed = 1; for (...) /* inner loop */ { if (gc_allowed && gc_needed(...)) { gerepileall(...); gc_allowed = (parisize == parisizemax); } } }