Full garbage collection throughtout the system.

Andreas Raab Andreas.Raab at gmx.de
Wed Dec 12 18:23:20 UTC 2001


> Also, is there any way I can remove invocations of these in the Socket
> code or in StandardFileStream>>open:forWrite:? (To me, these are very
> important. This GC is signifigant in the overhead when
> building a new VM.)

Try the attached changes:

"Change Set:		LessFullGCs-ar
Date:			12 December 2001
Author:			Andreas Raab

Remove the need for garbage collections in two cases.

Case #1: File operations required (possibly full) garbage collections on
certain operations. These are unneeded if the file registry does not contain
a file with the same name. In this case, the failure to perform the
operation cannot be due to a dangling file handle and thus we don't need a
GC.

Case #2: Socket creation required a full GC if the creation failed. This can
only happen if the number of open sockets is above a critical threshold (and
therefore exceed OS resources) and some sockets are dangling (and could be
used to free up resources). A registry threshold can prevent execution of a
full GC until we have at least a certain number of sockets open.
"

Cheers,
  - Andreas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: LessFullGCs-ar.1.cs
Type: application/octet-stream
Size: 6096 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20011212/421197a2/LessFullGCs-ar.1.obj


More information about the Squeak-dev mailing list