[squeak-dev] 100 Million objects

Herbert König herbertkoenig at gmx.net
Thu Feb 28 21:18:00 UTC 2008


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 at gmx.net




More information about the Squeak-dev mailing list