Ouch this is why we will have to think hard on our next priorities.

Stef

On Jul 9, 2013, at 3:49 PM, Esteban Lorenzano <esteba...@gmail.com> wrote:

> In fact, problem is even worst. I wanted to watch how the GC behaves over 
> 500m of memory occupied. 
> I though on a test that would create/destroy objects in a regular basis, 
> after filling the memory. 
> 
> So, to start I ran this simple script (it was just a start, not the real test 
> I thought):
> 
> objectQuantity := 1024 * 1024.
> objectSize := 1024.
> objects := Array new: objectQuantity.
> 
> 1 to: objectQuantity do: [  :index | objects at: index put: (ByteArray new: 
> objectSize) ].
> 
> objects inspect.
> 
> FileStream stdout 
>       << Smalltalk vm statisticsReport
>       << '=================' << String cr.
>       
> 
> The idea is to keep in memory a real big array with elements of 1024 bytes 
> size each. That should fill memory up to 1G+size of array+rest of the system. 
> 
> Well, this are the results:
> 
> OSX: VM crash (in 530m)
> Linux: VM crash (in ~1G)
> Win: Didn't even tried. 
> 
> Same script with:
> 
> objectQuantity := 512 * 1024.
> 
> OSX: VM crash (in 530m)
> Linux: PASSES!
> Win: Didn't even tried. 
> 
> Same script with:
> 
> objectQuantity := 248 * 1024.
> 
> OSX: PASSES!
> Linux: PASSES!
> Win: Didn't tried, but it should pass since memory is < 512m.
> 
> Anyway... situation is far from good, IMO. 
> 
> Esteban 
> 
> 
> On Jul 9, 2013, at 10:11 AM, Stéphane Ducasse <stephane.duca...@inria.fr> 
> wrote:
> 
>>>> 
>>>> 
>>> 
>>> If you reserve most of memory for objects, think how you could use things 
>>> like
>>> freetype, opengl, cairo & any other library which allocates memory on
>>> conventional heap.
>>> also, think that DLLs and kernel needs breathing space as well.
>> 
>> But is it not the same on mac?
>> I thought that it was a problem with the memory fragmentation on windows.
>> 
>> Stef
> 
> 


Reply via email to