On 07/27/2016 06:46 AM, Rene Zwanenburg via Digitalmars-d-learn wrote:
On Wednesday, 27 July 2016 at 02:20:57 UTC, Charles Hixson wrote:
O, dear.  It was sounding like such an excellent approach until this
last paragraph, but growing the file is going to be one of the common
operations.  (Certainly at first.) (...)
So I'm probably better off sticking to using a seek based i/o system.

Not necessarily. The usual approach is to over-allocate your file so you don't need to grow it that often. This is the exact same strategy used by D's dynamic arrays and grow-able array-backed lists in other languages - the difference between list length and capacity.

There is no built-in support for this in std.mmfile afaik. But it's not hard to do yourself.

Well, that would mean I didn't need to reopen the file so often, but that sure wouldn't mean I wouldn't need to re-open the file. And it would add considerable complexity. Possibly that would be an optimal approach once the data was mainly collected, but I won't want to re-write this bit at that point.

Reply via email to