On Tue, 12 Dec 2006, [EMAIL PROTECTED] wrote:
Attached patch grows a memory stream by at least a quarter of its original
capacity.
Thank you, applied.
Michael.
___
fpc-devel maillist - fpc-devel@lists.freepascal.org
On Mon, 11 Dec 2006, Vincent Snijders wrote:
Hi,
Currently the TMemoryStream grows in steps of 4096 bytes.
When writing 10 chunks of say 80 bytes to it, this causes a lot of
reallocations. I think it is better to grow at least a quarter for example.
The new code could look
Vincent Snijders wrote:
Hi,
Currently the TMemoryStream grows in steps of 4096 bytes.
Very nice would be a linked list of 8KB blocks or so, and when you
access .Memory, then it's copied into an array.
Micha
___
fpc-devel maillist -
On Mon, 11 Dec 2006, Micha Nelissen wrote:
Vincent Snijders wrote:
Hi,
Currently the TMemoryStream grows in steps of 4096 bytes.
Very nice would be a linked list of 8KB blocks or so, and when you access
.Memory, then it's copied into an array.
I think you can create a separate
Micha Nelissen schreef:
Vincent Snijders wrote:
Hi,
Currently the TMemoryStream grows in steps of 4096 bytes.
Very nice would be a linked list of 8KB blocks or so, and when you
access .Memory, then it's copied into an array.
A (maybe shortsighted) drawback would be that it doubles the
Vincent Snijders wrote:
A (maybe shortsighted) drawback would be that it doubles the amount of
needed memory, once for the list and once for the memory pointed to with
Memory?
Well, the linked list would be freed (or the first item of it enlarged
to the total size, depending on implementation
Micha Nelissen schreef:
Vincent Snijders wrote:
A (maybe shortsighted) drawback would be that it doubles the amount of
needed memory, once for the list and once for the memory pointed to with
Memory?
Well, the linked list would be freed (or the first item of it enlarged
to the total size,
Well, the linked list would be freed (or the first item of it enlarged
to the total size, depending on implementation details).
Still, the peak memory use will twice the size, won't it?
sure but unless you are very lucky a call to reallocmem also means
alocate-copy-deallocate.
peter green schreef:
Well, the linked list would be freed (or the first item of it enlarged
to the total size, depending on implementation details).
Still, the peak memory use will twice the size, won't it?
sure but unless you are very lucky a call to reallocmem also means