Memory settings
Andreas Raab
andreas.raab at gmx.de
Fri May 18 05:59:11 UTC 2007
Hi Folks -
I spent the last two days in a bit of optimization mode for Qwaq Forums
and one of the things that I found is that the memory settings Squeak
ships with by default are abysmal for anything resembling 21st century
memory sizes and processor speeds. I'm interested in an exchange with
people who have been tweaking these settings to see what they come up
with. For Forums, I have found the following to be significant:
* IGC counts: I have found that I could speed up forums by about 30%
simply by reducing the number of IGCs and tenures via the following
settings:
Smalltalk vmParameterAt: 5 put: 40000. "default: 4000"
Smalltalk vmParameterAt: 6 put: 10000. "default: 2000"
The effect of these changes is that we only do 1/10th of the frequency
of incremental GCs.
* Total memory sizes: I have found that insufficient free space is a
major source of slowdowns (factor of 2-3). This can be avoided by
biasing the VM to grow instead of collect (thanks John!) and ensure that
there is enough headroom at all times:
Smalltalk gcBiasToGrow: true. "default: false"
Smalltalk gcBiasToGrowLimit: 8*1024*1024. "default: n/a"
What I'm curious about is what settings other people with "21st century
loads" on their applications have found to make a difference. The above
seem to work out well for forums, significantly increasing the frame
rate on small machines (up to 30%) but without having individual IGCs to
be too slow for real-time processing (voice chat and rendering in our
cases).
Cheers,
- Andreas
More information about the Squeak-dev
mailing list
|