GCTweak is a small utility that will help keep your memory usage lower, by assisting the garbage collection system in World of Warcraft. Anytime your framerate is higher than the setting (30 by default) this addon will force the garbage collection system to continuing marking and deallocating objects. This will only happen when you are not in combat, and can be disabled and customized from the commandline.
/gctweak /gctweaker /gct:
/gct toggle - Toggles GCTweaker on or off
/gct <num> - Enables aggressive garbage collection above <num> frames per second
/gct debug - Toggles debug messages
You should set the FPS value to your "normal" frame rate to get the best performance. The addon is very careful to only take action when necessary, and never does anything during combat.
Please test this addon, and report back to me with your results (especially if you see a noticeable drop in frame rate, or memory usage). I've tested the addon quite a bit, and it has a very noticeable effect in resolving burst situations.
Thanks to Krka for talking through all the garbage collection issues, and pushing the idea of periodic collection.
TLDR Version:
Lua's incremental garbage collector only marks and deallocates in response to new allocations. As a result, the system can get into a deficit that makes it difficult to complete a full garbage collection cycle. In order to resolve this, I've created an addon which runs the garbage collection system periodically during system downtime to ensure you don't have an outstanding deficit of memory waiting to be collected.
Changelog:
Code:
2007-09-07 [r2] artifici:
* GCTweak.lua: * Small optimization suggested by ckknight
2007-09-07 [r1] artifici:
* GCTweak.lua (added), GCTweak.toc (added): * Initial import of
GCTweak