writeImageFile() without snapshot()?

John M McIntosh johnmci at smalltalkconsulting.com
Fri Oct 7 21:58:07 UTC 2005


Duh, need coffee forget all about mark bit.... Which of course faults  
the entire Virtual memory page.
Still not having to actually shuffle all the memory a few bytes  
closer to 0000000 should save a bit of time.

On 7-Oct-05, at 2:40 PM, Andreas Raab wrote:

> John M McIntosh wrote:
>
>> On 7-Oct-05, at 12:49 PM, Avi Bryant wrote:
>>
>>> Now, it should still work to do what Tom was suggesting, right?   
>>> Do  the fullGC in the parent process, then immediately fork and   
>>> snapshot  (without doing a second GC in the child).  Does the  
>>> order  of, eg, #storeContextRegisters: and #fullGC inside  
>>> #snapshot: matter?
>>>
>> If you do the fullGC, then the fork and snapshot which also does  
>> a  fullGC, then cleans up context records and information about   
>> primitive linkups you should find that the amount of memory  
>> altered is much less.
>>
>
> It's not. Garbage collection touches (modifies, writes) the header  
> bits of the objects touched which causes the pages to be marked  
> dirty and allocated. You'd have to avoid the entire GC to make this  
> work.
>
> Cheers,
>   - Andreas
>
>
>

--
======================================================================== 
===
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
======================================================================== 
===




More information about the Squeak-dev mailing list