AminetAminet
Search:
84451 packages online
About
Recent
Browse
Search
Upload
Setup
Services

util/boot/MemOptimizer.lha

Mirror:Random
Showing:m68k-amigaosppc-amigaosppc-morphosi386-arosi386-amithlonppc-warpupppc-powerupgeneric
No screenshot available
Short:Optimize for better memory allocation
Author:RhoSigma, Roland Heyder <http://rhosigma-cw.net/>
Uploader:Roland Heyder <rhosigma rhosigma-cw net>
Type:util/boot
Version:4.200 (12.05.15)
Architecture:m68k-amigaos >= 2.0.4
Date:2015-05-15
Download:http://aminet.net/util/boot/MemOptimizer.lha - View contents
Readme:http://aminet.net/util/boot/MemOptimizer.readme
Downloads:3045

english:
¯¯¯¯¯¯¯¯
  The MemOptimizer package is FREEWARE.

   The purpose of this program is to periodically check your Amiga's free
  memory list(s) and automatically remove all memory fragments (chunks)
  which are smaller than a given threshold value. This will optimize memory
  allocations, as the lists become shorter and hence can be searched faster.

  => In patched mode (recommended) the removed chunks remain available for
     allocations via the freestack system provided by the memoptimizer.library,
     which gives fast access to the memory, even if there are 100s of chunks
     on the freestack.

  => Because the small chunks remain available, the large memory blocks in the
     system's freelist are protected from further fragmentation, as small memory
     allocations are satisfied from the freestack.

  => Additional some calculations are made to express the current fragmentation
     in such kind of numbers, which allow to compare the effects of MemOptimizer
     and the regular values without it.

  => Different from PoolMem and TLSFMem, MemOptimizer has proven to run stable
     even with any PowerUp and/or WarpOS software.

  => See Docs/MemOpt.html for full installation/usage details, Docs/MoLib.html
     contains the developer documentation for the memoptimizer.library.

  => If you wrote software using any functions of the memoptimizer.library,
     then feel free to distribute a standalone copy of the library enclosed
     with your package, but please mention the MemOptimizer.lha archive as
     its source and Aminet util/boot as the place to go for download.

  Find all my Software on Aminet:
  -------------------------------

   http://aminet.net/search?readme=rhosigma&sort=path


deutsch:
¯¯¯¯¯¯¯¯
  Das MemOptimizer Packet ist FREIWARE.

   Der Zweck dieses Programms ist der, periodisch die Speicherlisten deines
  Amiga's zu überprüfen und dabei automatisch alle Speicherfragmente (Chunks),
  welche kleiner als ein angegebener Schwellwert sind, zu entfernen. Dadurch
  werden Speicherreservierungen optimiert, da die Listen jetzt kürzer sind
  und daher schneller durchsucht werden können.

  => Im gepatchten Modus (empfohlen) bleiben die entfernten Speicherchunks aber
     weiterhin verfügbar über den von der memoptimizer.library
bereitgestellten
     Speicherstapel. Die Verwaltung des gleichen erlaubt schnellen Zugriff auf
     den Speicher, selbst wenn sich 100te Chunks auf dem Stapel befinden.

  => Da die kleinen Speicherchunks verfügbar bleiben, sind außerdem die
großen
     Speicherblöcke in den Systemspeicherlisten geschützt vor weiterer
Fragmen-
     tierung, da kleinere Speicherreservierungen vom Speicherstapel genommen
     werden können.

  => Zusätzlich werden noch ein paar Berechnungen angestellt, um die jeweilige
     Fragmentierung in verständliche Zahlen zu fassen, damit man den Effekt von
     MemOptimizer auch mit den regulären Werten ohne diesen vergleichen kann.

  => Anders als PoolMem und TLSFMem, hat MemOptimizer auch ein zuverlässiges
     Laufzeitverhalten mit beliebiger PowerUp und/oder WarpOS Software bewiesen.

  => Siehe Docs/MemOpt.html für Installations- und Benutzungshinweise, darüber
     hinaus enthält Docs/MoLib.html auch die Entwicklerdokumentation für die
     memoptimizer.library. (Docs alle nur in englisch verfügbar.)

  => Wenn du Programme geschrieben hast, die irgendwelche Funktionen aus der
     memoptimizer.library benutzen, dann darfst du gerne eine Einzelkopie der
     Bibliothek deinem Programmpacket beilegen, aber bitte weise darauf hin,
     daß die Quelle das MemOptimizer.lha Archiv ist und dieses auf dem Aminet
     unter util/boot zum herunterladen bereit steht.

  Finde alle meine Software im Aminet:
  ------------------------------------

   http://aminet.net/search?readme=rhosigma&sort=path

===========================================================================

History:
¯¯¯¯¯¯¯¯
v1.000 (16.11.05)
       - initial Release
       - removes small memory chunks (by threshold) from exec's MemLists to
         speed up allocations
       - simple GUI to change shell given options and some statistic output

v1.139 (20.05.06)
       - optional use of »memoptimizer.library« for further enhancement of
         memory allocations
       - statistic outputs in GUI now features combined numerical & graphical
         (gauge like) display

v2.180 (30.06.06)
       - two new functions in »memoptimizer.library« added, see developer docs
       - 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

v3.013 (21.01.07)
       - general rework of the freestack system of the »memoptimizer.library«,
         it's now calculating to satisfy any allocations rather than searching
         through endless chunk lists - much faster
       - 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 system size (according to 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 (01.09.07)
       - 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 long time before you reach such a low
         memory situation
       - arithmetic overflow condition fixed in StackUsage()
       - MEMF_REVERSE fix in AllocRuntime(), was refused even if the calling
         task was allowed, if memory was taken from freestack (makes no sense
         here, cause memory chunks on freestack 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 not a
         wise idea to replace native PPC code with 68k routines

v3.062 (10.09.07)
       - 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 at least one name is in
         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 (21.03.10)
       - 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 (03.04.10)
       - just some improvements for MoMeter to feature more layouts and let the
         user save the current state/position

v4.093 (20.12.10)
       - 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

v4.153 (02.06.11) - [not published]
       - many tests and experiments to further improve the chunk recycling and
         resource tracking routines
       - project went out of focus because of immense lack of time

v4.200 (12.05.15)
       - some more improvements in chunk recycling routines to allow for better
         re-merge behaviour with chunks in system's freelist
       - fixed an arithmetic overflow in fragmentation calculation
       - added DONOTWAIT and STARTPRI=-1 tooltypes to "SaveState" menu operation
         of MoMeter



Contents of util/boot/MemOptimizer.lha
PERMISSION  UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP     NAME
---------- ----------- ------- ------- ------ ---------- ------------ ----------
[unknown]                  283    1170  24.2% -lh5- f5ec May 12 12:24 .displayme
[unknown]                  857    1636  52.4% -lh5- 3b72 May 12 12:24 MemOptimizer.info
[unknown]                 5365   10501  51.1% -lh5- 3f98 May 12 12:24 MemOptimizer.md5
[unknown]                  336     421  79.8% -lh5- 358c May 12 12:24 MemOptimizer.md5.asc
[unknown]                 1957    5318  36.8% -lh5- 5561 May 12 12:24 MemOptimizer.md5.info
[unknown]                 4064    9362  43.4% -lh5- 114b May 12 12:24 MemOptimizer.readme
[unknown]                 1129    1489  75.8% -lh5- 9d94 May 12 12:24 MemOptimizer.readme.info
[unknown]                  843    5353  15.7% -lh5- bfdb May 12 12:24 MemOptimizer/benchmarks/3days.4096
[unknown]                  797    5348  14.9% -lh5- 19a1 May 12 12:24 MemOptimizer/benchmarks/3days.sys
[unknown]                  909    5441  16.7% -lh5- e73b May 12 12:24 MemOptimizer/benchmarks/good.1024
[unknown]                  737    5410  13.6% -lh5- 7b77 May 12 12:24 MemOptimizer/benchmarks/good.2048
[unknown]                  734    5399  13.6% -lh5- 6876 May 12 12:24 MemOptimizer/benchmarks/good.4096
[unknown]                  771    5389  14.3% -lh5- 329f May 12 12:24 MemOptimizer/benchmarks/good.sys
[unknown]                  950    5417  17.5% -lh5- ea77 May 12 12:24 MemOptimizer/benchmarks/havy.1024
[unknown]                  834    5387  15.5% -lh5- 3411 May 12 12:24 MemOptimizer/benchmarks/havy.2048
[unknown]                  964    5406  17.8% -lh5- 2ffe May 12 12:24 MemOptimizer/benchmarks/havy.4096
[unknown]                  958    5418  17.7% -lh5- c859 May 12 12:24 MemOptimizer/benchmarks/havy.sys
[unknown]                  720    5353  13.5% -lh5- 0eaf May 12 12:24 MemOptimizer/benchmarks/MorphOS/havy.mos4096
[unknown]                  664    5340  12.4% -lh5- 0a6f May 12 12:24 MemOptimizer/benchmarks/MorphOS/havy.mossys
[unknown]                  623    5465  11.4% -lh5- 1a48 May 12 12:24 MemOptimizer/benchmarks/WinUAE/havy.uae4096
[unknown]                  629    5454  11.5% -lh5- b80b May 12 12:24 MemOptimizer/benchmarks/WinUAE/havy.uaesys
[unknown]                  861    1636  52.6% -lh5- 93b1 May 12 12:24 MemOptimizer/c.info
[unknown]                  138     173  79.8% -lh5- 1914 May 12 12:24 MemOptimizer/c/--Important--.txt
[unknown]                 8038   14496  55.4% -lh5- 2eef May 12 12:24 MemOptimizer/c/MemOptimizer
[unknown]                19373   35400  54.7% -lh5- 0780 May 12 12:24 MemOptimizer/c/MoBenchmark
[unknown]                  170     192  88.5% -lh5- b3b5 May 12 12:24 MemOptimizer/c/MoBurstDisable
[unknown]                  168     192  87.5% -lh5- 5640 May 12 12:24 MemOptimizer/c/MoBurstRestore
[unknown]                 5404    8988  60.1% -lh5- d1aa May 12 12:24 MemOptimizer/c/MoStackInfo
[unknown]                 8228   16136  51.0% -lh5- bb0b May 12 12:24 MemOptimizer/c/MoTrackLister
[unknown]                  869    1636  53.1% -lh5- f3b5 May 12 12:24 MemOptimizer/Develop.info
[unknown]                  862    1636  52.7% -lh5- 831a May 12 12:24 MemOptimizer/Develop/arexx.info
[unknown]                  815    2540  32.1% -lh5- f303 May 12 12:24 MemOptimizer/Develop/arexx/Test.rexx
[unknown]                  868    1636  53.1% -lh5- 2cc9 May 12 12:24 MemOptimizer/Develop/include.info
[unknown]                  860    1636  52.6% -lh5- 0fa6 May 12 12:24 MemOptimizer/Develop/include/rhosigma.info
[unknown]                  655    3052  21.5% -lh5- e595 May 12 12:24 MemOptimizer/Develop/include/rhosigma/memoptimizer.bh
[unknown]                  132     192  68.8% -lh5- b645 May 12 12:24 MemOptimizer/Develop/include/rhosigma/memoptimizer.bmap
[unknown]                  399    1156  34.5% -lh5- 7a10 May 12 12:24 MemOptimizer/Develop/include/rhosigma/memoptstubs.lib
[unknown]                  655    2768  23.7% -lh5- 1521 May 12 12:24 MemOptimizer/Develop/include/rhosigma/memopt_lib.fd
[unknown]                  740    3025  24.5% -lh5- acde May 12 12:24 MemOptimizer/Develop/include/rhosigma/memopt_lib.h
[unknown]                 1670    5277  31.6% -lh5- 56fc May 12 12:24 MemOptimizer/Develop/include/rhosigma/memopt_lib.i
[unknown]                  725    3027  24.0% -lh5- ba83 May 12 12:24 MemOptimizer/Develop/include/rhosigma/memopt_protos.h
[unknown]                  866    1636  52.9% -lh5- 1fa8 May 12 12:24 MemOptimizer/Docs.info
[unknown]                 3095   13554  22.8% -lh5- af94 May 12 12:24 MemOptimizer/Docs/allocf.html
[unknown]                 2921   13162  22.2% -lh5- 588a May 12 12:24 MemOptimizer/Docs/allocr.html
[unknown]                 3196   14021  22.8% -lh5- 9bad May 12 12:24 MemOptimizer/Docs/allocw.html
[unknown]                 3349   14539  23.0% -lh5- 6b1e May 12 12:24 MemOptimizer/Docs/allowc.html
[unknown]                 2545   11567  22.0% -lh5- 6b8f May 12 12:24 MemOptimizer/Docs/clears.html
[unknown]                 2783   12549  22.2% -lh5- 1ee9 May 12 12:24 MemOptimizer/Docs/freemb.html
[unknown]                 2981   13320  22.4% -lh5- 4771 May 12 12:24 MemOptimizer/Docs/freets.html
[unknown]                 3039   13608  22.3% -lh5- 1b09 May 12 12:24 MemOptimizer/Docs/freewc.html
[unknown]                 2921   13228  22.1% -lh5- 0cc6 May 12 12:24 MemOptimizer/Docs/freewm.html
[unknown]                 2670   12270  21.8% -lh5- 6e0d May 12 12:24 MemOptimizer/Docs/hitras.html
[unknown]                 1588    1588 100.0% -lh0- eb10 May 12 12:24 MemOptimizer/Docs/images/BACK_AluDark.jpg
[unknown]                 1731    1731 100.0% -lh0- 32a4 May 12 12:24 MemOptimizer/Docs/images/BACK_AluNorm.jpg
[unknown]                  895     895 100.0% -lh0- 4c74 May 12 12:24 MemOptimizer/Docs/images/LIST_BULLET_Blue.gif
[unknown]                  895     895 100.0% -lh0- 9c26 May 12 12:24 MemOptimizer/Docs/images/LIST_BULLET_Green.gif
[unknown]                  895     895 100.0% -lh0- 4e84 May 12 12:24 MemOptimizer/Docs/images/LIST_BULLET_Purple.gif
[unknown]                  895     895 100.0% -lh0- 589f May 12 12:24 MemOptimizer/Docs/images/LIST_BULLET_Red.gif
[unknown]                  895     895 100.0% -lh0- 3671 May 12 12:24 MemOptimizer/Docs/images/LIST_BULLET_Yellow.gif
[unknown]                 1264    1264 100.0% -lh0- d989 May 12 12:24 MemOptimizer/Docs/images/NAV_Next.gif
[unknown]                 1269    1269 100.0% -lh0- ee03 May 12 12:24 MemOptimizer/Docs/images/NAV_Prev.gif
[unknown]                 1671    1671 100.0% -lh0- b389 May 12 12:24 MemOptimizer/Docs/images/NAV_PrevNext.gif
[unknown]                 1288    1288 100.0% -lh0- 9a0e May 12 12:24 MemOptimizer/Docs/images/NAV_Top.gif
[unknown]                 2582   10194  25.3% -lh5- 6d49 May 12 12:24 MemOptimizer/Docs/memopt.html
[unknown]                  885    1355  65.3% -lh5- 4eaf May 12 12:24 MemOptimizer/Docs/MemOpt.html.info
[unknown]                 3431   11748  29.2% -lh5- ab11 May 12 12:24 MemOptimizer/Docs/mobench.html
[unknown]                 3136   11322  27.7% -lh5- f1a5 May 12 12:24 MemOptimizer/Docs/mobudis.html
[unknown]                 2015    8590  23.5% -lh5- cb17 May 12 12:24 MemOptimizer/Docs/mobures.html
[unknown]                 2829   10683  26.5% -lh5- bf2a May 12 12:24 MemOptimizer/Docs/mogui.html
[unknown]                 5588   19378  28.8% -lh5- 5ba6 May 12 12:24 MemOptimizer/Docs/molib.html
[unknown]                  882    1355  65.1% -lh5- 7263 May 12 12:24 MemOptimizer/Docs/MoLib.html.info
[unknown]                 7841   32495  24.1% -lh5- 935a May 12 12:24 MemOptimizer/Docs/momast.html
[unknown]                 3685   15087  24.4% -lh5- ea5f May 12 12:24 MemOptimizer/Docs/momet.html
[unknown]                 3742   14174  26.4% -lh5- 4755 May 12 12:24 MemOptimizer/Docs/morevnam.html
[unknown]                 2241    9782  22.9% -lh5- 6664 May 12 12:24 MemOptimizer/Docs/mostkinf.html
[unknown]                 5266   19754  26.7% -lh5- ee3c May 12 12:24 MemOptimizer/Docs/motrklis.html
[unknown]                 2636   12147  21.7% -lh5- 6a17 May 12 12:24 MemOptimizer/Docs/usages.html
[unknown]                  865    1636  52.9% -lh5- d14e May 12 12:24 MemOptimizer/libs.info
[unknown]                 7205   12676  56.8% -lh5- e0d9 May 12 12:24 MemOptimizer/libs/memoptimizer.library
[unknown]                11086   25348  43.7% -lh5- f4c6 May 12 12:24 MemOptimizer/MemOptGUI
[unknown]                  960    1503  63.9% -lh5- 82c8 May 12 12:24 MemOptimizer/MemOptGUI.info
[unknown]                21580   41080  52.5% -lh5- 8f00 May 12 12:24 MemOptimizer/MoMeter
[unknown]                 1010    1601  63.1% -lh5- c793 May 12 12:24 MemOptimizer/MoMeter.info
---------- ----------- ------- ------- ------ ---------- ------------ ----------
 Total        83 files  209871  618919  33.9%            May 15 19:06

Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>