On Wed, Jul 22, 2009 at 10:47 AM, Pavel Ivanov<paiva...@gmail.com> wrote: > SQLite synchronizes with disk during every commit (either issued by > yourself or automatic) at least 2 times (I don't know exact number). > So it's quite natural that it spends most of the time in winSync(). > But I still didn't understand from your explanation how exactly your > application works and whether it's SQLite uses memory or your > application does. > BTW, how do you measure memory usage and how do you see leakage? What > does sqlite3_memory_used() returns for you? > > Pavel
I was measuring memory usage by just looking at windows task manager. If I watch it for about 20 seconds, it goes up indefinitely until I stop reading more data from the file (and thus stop issuing insert statements), at which point it steadly declines for a while. Assuming I don't do any manual commits, what does sqlite do with the data that has yet to be committed? I thought it would store it in the journal file, but the journal file always remains consistently very small (around 8K max), and data gets written to the actual database file even when I'm not doing commits. I have some ideas about the memory consumption problem that turns out to be related to my own code (I agree it's amazingly complicated, but it has to be for reasons outside of what we're doing with sqlite). I will investigate that further and post back if I am able to pinpoint the issue to sqlite more closely. Unfortunately I don't have access to memory leak detection tools, otherwise that would obviously be ideal. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users