Forum: Win32/Win64 API (native code)
Delphi
by himitsu,
16. Feb 2010
Dieses laß ich inzwischen oftmals, da FastMM sowas auch schon macht, welches dann TList indirekt ausnutzen würde. :angel2:
Sowas wie "und zweitens" würde da schon mehr bringen.
Forum: Win32/Win64 API (native code)
Delphi
by himitsu,
16. Feb 2010
Und genau das erzeugt auch einen gewissen Verlust, da so eben fast immer mehr Speicher belegt wird, als nötig.
PS: auch Delphis alter MM reservierte schon in Blöcken/Gruppen und nicht alles Bytegenau.
(OK, abgesehn von "großen" Speicherblöcken, aber da macht es auch FastMM so)
Na gut, FastMM versucht dieses Problem allerdings durch eine größere Anzahl verschiedener und feiner...
Forum: Win32/Win64 API (native code)
Delphi
by himitsu,
16. Feb 2010
OK, da gibt es noch kein FastMM.
(FastMM hat 'ne etwas andere Speicheraufteilung und versucht dann seine Speicherveraltung auf dieses Funktionsergebnis umzurechnen)
Warum so Fragmentiert:
- erstmal passiert beim Programmstart schon sehr viel (Speicher reservieren, verändern und auch freigeben) ... da müssen Lücken entstehen
- und dann wird Speicher in Gruppen reserviert, wovon erstmal...
Forum: Win32/Win64 API (native code)
Delphi
by himitsu,
16. Feb 2010
zuerst: Welche Delphi-Version?
Irgendwann wurde standardmäßig FastMM in Delphi eingeführt und damit gibt diese Funktion keine guten, bzw. leicht falsche Ergebnisse zurück.
Und machen kannst du nichts, da sich der Speichermanager von außen nicht geziehlt steuern läßt.