Home > Produkte > SmartHeap >> Beschreibung

SmartHeap - Beschreibung


Effizientes C/C++ HeapManagement


SmartHeap ist ein Memory-Manager für den dynamischen Speicher, der effizient Speicher allokiert und verwaltet. Es ersetzt die Routinen für die dynamische Speicherverwaltung der Laufzeitbibliothek des Compilers. Gerade in C/C++ Applikationen, die auf Systemen mit virtueller Speicherverwaltung laufen, wird die Geschwindigkeit, mit der dynamischer Speicher allokiert/deallokiert wird, zum kritischen Faktor. Benchmarks belegen, daß SmartHeap's Algorithmen bis zu 100-mal schneller arbeiten als die Funktionen der Laufzeitbibliotheken.
SmartHeap verhindert zuverlässig die Fragmentierung des Heaps, die vor allem die Performance des Allokators beeinflußt. Dazu verwendet es einen Allokator, der in Abhängigkeit von der Größe des angeforderten Speicherblocks verschiedene Algorithmen verwendet. Dies geschieht transparent, d.h. Sie als Programmierer müssen lediglich die SmartHeap-Library linken, um diese Funktionalität nutzen zu können.
Aber SmartHeap bietet auch die Möglichkeit des "Fein-Tunings": Sie können z.B. eigene Memory-Pools anlegen, die eine größere Lokalität aufweisen. Allokation und Deallokation in solchen Memory-Pools sind wesentlich schneller als Allokation und Deallokation im allgemeinen Heap.

SmartHeap verfügt darüberhinaus über einen sehr leistungsfähigen Debug-Modus. Wenn die Debug-Version von SmartHeap einen Speicherblock allokiert, werden folgende Informationen gespeichert:
Die SmartHeap-Funktion, die das Objekt erzeugt hat (z.B. malloc).

  • Dateiname, Zeilennummer und ein Zähler wo das Objekt erzeugt wurde. Diese Information erlaubt es Breakpoints auf den n-ten Durchlauf einer Allokation zu setzen.

  • Einen eindeutigen Zähler, der es erlaubt, jede Allokation von allen anderen Allokationen in einem Prozess zu unterscheiden.

  • Die angeforderte Größe und alle Flags.

  • Eine Checksumme, falls der Speicherblock read-only angefordert wurde.

Mit diesen Informationen können Sie Leaks und andere Speicherfehler leicht entdecken

SmartHeap enthält optimierte Libraries für Single- und MultiThread Anwendungen.

Das folgende .zip-File ist leider nicht mehr ganz aktuell. Es ist aber, außer dem SmartHeap Programmer's Guide, das einzige Dokument, das die SmartHeap Interna beschreibt:
SmartHeap Technische Spezifikation (.zip, engl.)


KESSLER Software GmbH & Co KG   |   An der Ziegelei 6   |   D-37124 Rosdorf   |   Tel 0551-507620   |   Fax 0551-5076222   |   Email info@kessler.de