Regarding this code:
> SetLength(Array,Length(Array)+1);
> Array[High(Array)] := …
as I understood from (http://wiki.freepascal.org/Dynamic_array
<http://wiki.freepascal.org/Dynamic_array>), SetLength will create a copy of
the array and free the memory of the shorter array. In this case, a lot of
memory operations and copy operations are performed thus degrading the
performances of the code. Then it would be unwise to use such strategy: better
allocate the size of the array correctly at the beginning of the run, or resize
the array by block, to decrease the frequency of such operation:
> SetLength(Array,Length(Array)+N);
Can somebody confirm (or invalidate) this?
Ciao,
Gilles Marcou
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal