Also extrem viel schneller ist es auch nicht ... aber meißtens sollte es schneller sein, aber eben nicht immer
Du könntest es ja mal unter den selben Bedingungen hiermit mit meinem MemoryManager versuchen.
Der is 'ne Abart des FastMM und arbeitet ein klein wenig anders ^^
Ein-/Verstellen brauchst du auch nichts, mußt halt nur die FastXMM.pas als erstes in die Uses-Klausel deiner
DPR einfügen.
PS: als Extrem kannst du es ja mal in Einerschritten versuchen, also das SetLength bei jedem Durchgang aufrufen.
setlength(p,i);
Ach ja, das "Durchlauf nur Schreiben" kannst du dir sparen, denn die MemoryManager verwalten ja nur den Speicher, also das reservieren, Größe ändern und freigeben.
Am Schreib-/Lesezugriff wird also nichts verändert.