Bernard

Committing does not free the memory. As I said before, Metakit maps the
*entire file* into memory. So if the file grows, so does the memory
mapping requirement. Whether the physical RAM used by the program grows or
not is a factor influenced by the OS, not by Metakit.

--JYL

>> No, you're not doing anything "wrong" here and neither is
>> Metakit. It's
>> just that your expectation of what Metakit should do is
>> wrong. v.Add(..)
>> will always add a new row, as the increasing number of rows printed by
>> your program shows. Because the view keeps growing, so does the memory
>> usage.
>
> But I call storage.Commit() after each batch of rows for the very
> purpose of flushing the new rows from memory to disk.
> How else can I tell Metakit to free up the space for these rows after
> writing them to disk?
>
>>
>> Please read up on c4_View::Add() and what it does. I think you're
>> expecting the id to somehow serve as a key and to overwrite
>> existing rows
>> with that id. This is not how Metakit works.
>
> No, I don't want to overwrite anything. I expect the data file to grow,
> and because of MMF, I also expect the size of allocated *virtual memory*
> to grow. But I don't want the *physical* RAM usage to grow endlessly.
>
> Bernhard
> _____________________________________________
> Metakit mailing list  -  [EMAIL PROTECTED]
> http://www.equi4.com/mailman/listinfo/metakit



_____________________________________________
Metakit mailing list  -  [EMAIL PROTECTED]
http://www.equi4.com/mailman/listinfo/metakit

Reply via email to