[BUG] Abysmal performance in FileList

John M McIntosh johnmci at smalltalkconsulting.com
Thu Mar 7 07:24:02 UTC 2002


>The problem is apparently that opening files on your platform takes a long
>time (why is a GC being done there if you're not out of handles? hmm...). On
>my machine it was fast so I didn't worry about it:

I think Scott Crosby pointed this out awhile back. So I'm not sure if 
the fixes ever got into the update stream, or as he pointed out the 
partial fix was ever fixed.

At 12:49 AM -0500 12/12/01, Scott A Crosby wrote:
>I've been going through the system looking at the instances of garbage
>collection, as fullGC is very expensive. Ideally, we will never run a
>fullGC unless we are genuinely running out of memory.
>
>I've found the following:
>
>	BlockContext>>repeatWithGCIf:
>		-- Used by Socket operations
>	Object>>retryWithGC:until:
>		-- Used by FileDirectory file operations.
>
>which are basically the same thing. I'll map both of them into one
>function. By what name shall I call it, and in what class will it reside?
>
>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.)

At 12:26 PM -0500 2/21/02, Scott A Crosby wrote:
>Here is the changeset that was incomplete.. The changeset
>
>>  4606LessFullGCs-ar -- Andreas Raab -- 12 December 2001 Remove the need
>>  for garbage collections in two cases.
>
>is incomplete and only contains the class-side changes that are in the
>full changeset.
>
>Scott

-- 
--
===========================================================================
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