Short: Memory defrag + GUI & optional Patches Author: RhoSigma, Roland Heyder (Germany) Uploader: Roland Heyder Type: util/boot Version: 4.093 (19.12.10) Architecture: m68k-amigaos >= 2.0.4 english (see full docs inside): ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ - v1.000 - initial Release - removes small memory chunks (by threshold) from exec's MemLists to speed up allocations - easy to use GUI to change shell given options and some statistic output - v1.139 - optionally use of the »memoptimizer.library« for further enhancement of memory allocations - statistic outputs in the GUI now features combined numerical & graphical (gauge like) display - v2.180 - two new functions in »memoptimizer.library« added, see developer docs for more info - freestack system improved for better internal function, it's almost self-maintaining now, so the removed chunk num/size displayed in the GUI should fall back to zero always within 1-2 loops (in patched mode), this avoids the unexpected flushes done when exceeding the given limit (see docs) - v3.013 - general rework of the freestack system provided by the »memoptimizer.library«, now calculating to satisfy any allocations rather than searching through endless chunk lists - much faster (see DevDocs for more info) - new patch for AvailMem() added to avoid fluctuation of any free memory displays/monitors reported in earlier versions, free size on stack will be added to free systems size (according to the given memory attributes) - low memory handler added if running under OS3.0+ (V39+) which will handle re-merge of chunks dynamicly as required by the system - special handling of MEMF_REVERSE allocations implemented, see docs for »MoReverseNames« CLI utility for more info - the mainprogram MemOptimizer was carefully »handoptimized« to hold most frequently used pointers/counters/variables in registers rather than on stack or small data segment - please read the docs, much new info added - v3.056 - minor optimizations in AvailMem()-Patch, will correctly handle MEMF_LARGEST for the FreeStack now, even if this is more theoretical, cause the largest block must be down below 4096 bytes to get a chance to satisfy the query with a block from the FreeStack. In most cases the system will probably refuse to work before you reach such a low memory condition :-) - arithmetic overflow condition fixed in StackUsage() - MEMF_REVERSE fix in AllocRuntime(), was refused even if the calling task was allowed, if the memory was taken from FreeStack (makes no sense here, cause the memory chunks on the Stack are unordered), now any allowed REVERSE allocations are put through to system's FreeList to make sure they're satified from the top of MemList - dangerous condition in ClearStack() fixed, a pointer was used after the memory it points to was already freed - as several people reported to me, MemOptimizer does also work fine under MorphOS, but you should run it in UNPATCHed mode, as it is (of course) not a wise idea to replace native PPC code with 68k routines :-) - v3.062 - fixed all Enforcer/MuForce Hits, which were simply a side effect of a wrong branch, which finally caused operation on an NULL pointer - REVERSE name checks only performed now, if there is at least on name in the list, makes no sense to obtain the Task/Command name first, just to find out later, that there is no name in the list to compare it with :-( - keeping the FreeStack entries sorted in ascending order now, which will result in somewhat faster flush operation - v4.080 - patches installed in SaferPatches (+similar) compatible way now - wrong branch instructions fixed for unsigned address checks - new library function - StackHitRate() - new patch + bugfix for AllocAbs() - new resource tracking functions implemented - new fast block clearing routines implemented (CPU sensitive) - general tuning to make library independent from master - improved Chunk recycling routines - ramlib/RAM check - load resources to upper memory area - logfile stuff and in-build GUI removed from master - v4.092 - just some improvements for MoMeter to feature more layouts and let the user save the current state/position, see Docs - v4.093 - this is just a little improvement regarding priorities, after watching my system over several month now, I've adjusted the task, semaphore and low memory handler priorities of the master, library, GUI and MoMeter - no further changes Please take also a look to my other Software on Aminet: ------------------------------------------------------- - comm/www/MakeHTMLMap.lha - dev/basic/MBPrefs.lha - dev/gg/Crypt-2.0.lha - dev/misc/ColorPrint.lha - util/boot/Loadertune.lha - util/libs/ExtraLib.lha - util/wb/RandomWBPatt.lha