Hm, die Idee solche "Caches" in den MM auszulagern halt ich für Zeitverschwendung.
1.) Die Art & Weise, also welchen Typus "Cache" man benutzen wird hängt sehr stark von der Aufgabe und sogar von späteren Tests ab. So gibt es zb. alleine bei der Art&Weise wie der Cache befüllt wird Unterschiede. Zb. LIFO oder FIFO Caches, random
Access Caches etc. pp.
2.) Die Größe und Anforderungen an den Cache hängen von den Datenmengen ab. Ein Cache der mit minimalem Aufwand zb. 1024 Datenelemente verwalten kann wird bei 1024*1024 anderen Datenelementen eventuell viel inperformanter sein als eine andere "Cache" Struktur.
Ich meine also das der Programmierer eines MM's nicht hellsehen und schon garnicht es allen möglichen zukünftigen Anforderungen recht machen kann.
In meinen IIntegers wird dieser sogenannte Pool = Cache als FIFO mit konfigurierbarer Tiefe ausgelegt. Zuerst hatte ich einen LIFO=Stack benutzt und musste dann aber feststellen das kontrahär zum eigenen Gefühl der FIFO wesentlich effizienter war.
Interessant an der Sache war der Punkt der dynamisch einstellbaren FIFO Speichertiefe. Diese ermöglichte nämlich später in den Performancetests mit sehr sehr unterschiedlichen mathematischen Formeln, aber immer der gleichen underlaying Math Library, einige statistische Gegenüberstellungen durchzuführen.
Obwohl nun die math. Library identisch ist, und in vielen Bereichen sogar vergleichbar und in der Anzahl ähnliche math. Funktinen benutzt wurden, gab es bei all dieses Algorithmen sehr unterschiedliche FIFO Speichertiefen die zur maximalen Performance führten. Es war sogar meisten so das gleich mehrer unterschiedliche Speichertiefe maximale Performance lieferten. D.h. die Performancekurve relativ zur gewählten Speichertiefe war niemals linear noch stetig. Der Glaube "viel hilft viel" wurde eindeutig wiederlegt.
Soll heissen: Obwohl die Aufgaben für diesen "Speichermanager" sehr sehr ähnlich waren gab es keine FIFO Speichertiefe die bei allen Aufgaben immer ein optimales Ergebnis lieferte. Genau der gleichen Situation sehen sich Programierer eines allgemeingültigen MMs gegenübergestellt. Da aber die Menge aller möglichen Algorithmen unendlich groß ist wird es niemals DEN Speichermamanger geben können.
Gruß Hagen