Tony Finch wrote:
> 
> >It doesn't trash. The memory is filled with backtracking information.
> >Memory in active use at any time is rather small.
> 
> I've read articles about programs which use GC which have a small
> working set, although it is constantly changing (I've heard of
> programs allocating megabytes a second). The OS would have to swap out
> the stale pages if the program's total memory use exceeds RAM, and
> when the GC finally runs it will take forever and thrash swap like
> there's no tomorrow.

It depends a lot on how allocation is made and the characteristics of
the reachable objects graph. If the likeness of a reachable object
existing in each page isn't small, it will trash indeed.

On the other hand, if most objects created have very short lifetimes and
a generational technique is used to move objects in the working set,
then few pages of the swap will need to be swapped in for tracing, and
the rest can be outright discarded without ever swaping them in.

On the gripping hand, FreeBSD on configurations without swap is not
unheard of by any means either, and overcommitting is still a problem in
these configurations.

-- 
Daniel C. Sobral                        (8-DCS)
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]

        I think you are delusional, but that is OK. Its part of your natural
charm!

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to