Unique all characters?

Bert Freudenberg bert at freudenbergs.de
Mon Jan 28 21:01:14 UTC 2008


On Jan 28, 2008, at 21:51 , Andreas Raab wrote:

> Philippe Marschall wrote:
>>> (Alternatives that are indexed by integers might also work well,  
>>> e.g. a flat
>>> WeakValueDictionary that used a WeakArray for its values).
>> Lord no, please no more Weak* collections. That was one of the major
>> performance fixes we did in Seaside, kicking Weak* collections. They
>> don't scale, they kill you in production.
>
> It's finalization that kills you, not weak collections per se. If  
> it were then symbol management should cause the same issues. For  
> the case in question you could shrink the character table on system  
> startup / shutdown which would avoid the finalization issues.

Well, instances of characters are mostly temporary - Strings actually  
store binary numbers, not Character instances, they create Characters  
on the fly.

One would have to measure the space and performance trade-offs of  
looking up unique Character instances vs. simply creating characters  
when needed. My hunch is it doesn't matter so is not worth the added  
complexity.

- Bert -





More information about the Squeak-dev mailing list