Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
|
Re: FastMM grotten langsam ?!
19. Nov 2005, 03:11
Im Lernmodus könnte man die zusätzlichen statitischen Infos selber im Speicherblock speichern, sprich Addresse des GetMem() aufrufes in der übergeordneten Funktion, erstmalige Speichergöße, Anzahl der Reallokationen, durschnittliche Reallokations-Größe in Bytes und finale maximal Speichergröße. Diese Daten werden dann extern gespeichert für die spätere Auswertung. Man lässt also die Anwednung erstmal unteer verschiedenen Umweltbedinugen laufen. Später in der Auswertung kann man nun anhand dieser Daten erstmal überprüfen wo und wann Speicherlecks auftreten. Dann kann man noch unterscheiden zwischen Speicherallokationen mit immer fester Größe und somit all diese Aufrufe auf eine spezielle GetMem() Funktion umleiten. Oder man erkennt das ein Speicherbereich oft vergrößert wird und ermittelt die durschnittlich beste Speichergröße. Wiederum diregiert man die GetMem() Aufrufe zu einer speziellen Version um die nun schon beim ersten Aufruf einen Speicherbereich auf die durchschnittliche Größe alloziert.
Aus all diesen Infos entsteht quasi ein Patch-Protokoll das die finale Version des Programmes mit dem nicht-lernfähigen MM entsprechend abändert.
Gruß Hagen
|