Hi, Roland Orre <[EMAIL PROTECTED]> writes:
> What is the best way to limit the memory allocation in guile? First, make sure Guile's GC knows about every bit of memory that you allocate. This means that C code run from your Guile program must use `scm_gc_malloc ()' et al. If you don't do this, Guile's GC will think that less memory is used than what is actually used, so it will GC less often than needed. Also, make sure to compile Guile with `-O2', otherwise it is more likely that references in the stack to Scheme objects will be visible much longer than needed. Similarly, make sure your Scheme code doesn't unduly keeps references to objects that are no longer needed. > Then when performing the last step, just involving reading > from a file, doing some string split for each line, adding > some data and writing it back to the file line per line, the > memory suddenly increases to 8.8 GB and then the job starts > swapping ridicously and stops of course. Of course, there could also be a bug. :-) If you get convinced that this is the case, you can try to reproduce it with a simple test case (typically: run the suspicious code in an endless loop and see what happens). > I'm still running 1.7 as I haven't got the time and energy > to change the array implementation yet. The array API hasn't changed between 1.7.2 and 1.8.x, so you could hopefully upgrade with little troubles. Thanks, Ludovic. _______________________________________________ Guile-user mailing list Guile-user@gnu.org http://lists.gnu.org/mailman/listinfo/guile-user