Ich möchte Sebastian ausdrücklich beipflichten!
Seit Delphi 5 verwende ich einen ähnlichen Trick bei der Nullstellen-Suche von Funktionen mit sehr vielen Nullstellen: z. B. Bessel-Funktionen bei der instationären Wärmeübertragung, die je nach Anwendungsfall
zwischen 0 und tausenden Lösungen haben können. Um nicht bei jeder neuen Nullstelle das Array mit den Lösungen neu dimensionieren (und intern den Inhalt u. U. stets umkopieren) zu müssen, mach ich
z. B. 50-er Sprünge bei
SetLength(..)
. Das ist deutlich schneller und verhindert die noch schlimmere Fragmentierung des Heap.