Fwiw .Net has GC.AddMemoryPressure [0] and RemoveMemoryPressure [1] to deal with this scenario.
/Patrik [0] http://msdn.microsoft.com/en-us/library/system.gc.addmemorypressure(loband).aspx [1] http://msdn.microsoft.com/en-us/library/system.gc.removememorypressure(loband).aspx On Fri, Oct 2, 2009 at 8:09 AM, Abdulaziz Ghuloum <[email protected]> wrote: > > On Oct 1, 2009, at 8:31 PM, Andreas Rottmann wrote: > >> Given the above, you have two options to make the reclamation happen >> automatically: Either place a call to `collect-blas-vectors' into >> `make-blas-vectors', or register `collect-blas-vectors' with the GC, >> which is a recently-added feature[0]. You can read more about guardians >> in the paper "Guardians in a Generation-Based Garbage Collector", by >> Dybvig et al. [1]. > > The only little problem that I see is that making many BLAS vectors > quickly could potentially run out of memory before the GC triggers. > (because a BLAS vector of N bytes will only use fixed few bytes of > Scheme data, and it will take lots of these to cause a GC) I don't > have a clean solution to this problem. Any ideas? > > Aziz,,, >
