Während der letzten Tage habe ich einige Informationen über andere Speicherzuordner als den Standard malloc()
gewonnen. Es gibt einige Implementierungen, die viel besser als malloc()
für Anwendungen mit vielen Threads scheinen. Zum Beispiel scheint es, dass tcmalloc
und ptmalloc
bessere Leistung haben.Was ist die beste Lösung, um einen neuen Speicherzuordner in einem vorhandenen Code zu ersetzen?
Ich habe eine C++ - Anwendung, die beide malloc
und new
-Operatoren an vielen Orten verwendet. Ich dachte, sie durch etwas wie ptmalloc
zu ersetzen, kann seine Leistung verbessern. Aber ich frage mich, wie funktioniert der Operator new
, wenn in C++ - Anwendung, die unter Linux ausgeführt wird, verwendet? Verwendet es das Standardverhalten von malloc
oder etwas anderes?
Was ist der beste Weg, um den new
Speicherzuordner durch den alten im Code zu ersetzen? Gibt es eine Möglichkeit, das Verhalten zu überschreiben oder new
und malloc
oder muss ich alle Anrufe zu ihnen einzeln ersetzen?
Haben Sie festgestellt, dass Ihr Programm eine beträchtliche Zeit für die Speicherverwaltung benötigt? – rpg
Ja, das ist sicher. Ich habe das schon gemacht –