I took a dev image, and run them in two ways: the normal and headless. For each I did a:
"Smalltalk garbageCollect.
SpaceTally new printSpaceAnalysis"
Normal one:
Class�������������������������� code space # instances� inst space
percent
Bitmap������������������������������� 3753�������� 133����� 11099904���
37.4
ByteString��������������������������� 2515������ 85110������ 6106378���
20.6
CompiledMethod���������������������� 19130������ 59452������ 3703463���
12.5
Array�������������������������������� 2176������ 77579������ 2561928����
8.6
......
Headless:
Class�������������������������� code space # instances� inst space
percent
ByteString��������������������������� 2515������ 85110������ 6106378���
24.7
Bitmap������������������������������� 3753�������� 126������ 6049208���
24.5
CompiledMethod���������������������� 19130������ 59452������ 3703463���
15.0
Array�������������������������������� 2176������ 77577������ 2561844���
10.4
......
So....even in headless mode, I have 133 instances of Bitmap, representing 24.5% of the memory.... Ok, 24.5 is better than 37.5, but I don't understand why Bitmap instances are created. Why they are needed ? is there a way to garbageCollect them?
thanks
Mariano