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
