Hi,
out of curiosity (forgot the reason) in a Workspace I did a:= Array new: 100000000 withAll: 1.0
Which gave me an 80% cpu usage.
To verify I browsed a MessageTally and found that incremental GC used 88%. One Smalltalk garbageCollect brought things back to normal.
As far as I remember my swiki readings this is because everything surviving a GC is moved to old space which is ignored by incremental GC.
Another interesting observation: Doing the allocation with immediate GC is quite fast while doing a:= nil with immediate GC takes *much* longer.
BTW, if you don't have the latest CPU 10 million objects will do.
Win 3.10.6 VM, 3.8.2, 3.9 final and latest 3.10 images.
Do I have to learn from this, that when creating lots of objects I intend to keep for a while, it's good to force a GC instead of waiting that time will move my objects to old space?
Cheers
Herbert mailto:herbertkoenig@gmx.net