On Fri, Dec 10, 2010 at 09:49:46AM -0500, Pavel Ivanov wrote:
> > Given that the WAL index is mmap'ed, you're unlikely to see improvement
> > in performance by storing it in heap memory. Reads/writes will go at
> > main memory speeds once mapped into your address space, and under memory
> > pressure, it will be no slower than if the heap was pushed to the swapfile.
> 
> Still I think pushing actual memory to swap file has bigger memory
> pressure threshold than pushing cache pages that are backed by actual
> file data out of physical memory. Also writing to mmaped file will
> still force OS to write it to disk from time to time and that brings
> additional pressure on the system overall.
> 

Once you're pushing working memory to disk, you've basically lost the
performance battle either way.

Given the OP problem, it doesn't sound like memory is the limiting
factor anyway.

>From the past posts, it appears Yoni is after predictable performance
with high throughput (logging system?) but without the durability
gaurantees provided by SQLite by default.

Perhaps using async VFS mode would better suit Yoni's application?

http://www.sqlite.org/asyncvfs.html

This way, the foreground thread handles writes to the SQLite IO queue,
and the background SQLite IO thread handles any latencies that result
from the commits. Yoni's already mentioned in other threads that
durability is not the main priority.

I'm not sure how this async VFS fits in with WAL. Might be that normal
rollback journalling only is supported, but from a performance 
standpoint, that's probably not a problem.

Christian 
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to