ping Could you take a look at the original Chromium patch: http://src.chromium.org/viewvc/chrome/trunk/src/third_party/sqlite/preload-cache.patch?revision=26596&view=markup?
Is it something you'd like to include in SQLite? If so, does the patch need any adjustments before that's possible? On Wed, Aug 11, 2010 at 23:23, Damian Pietras <da...@daper.net> wrote: > On Tue, Aug 10, 2010 at 05:46:26PM -0700, Paweł Hajdan, Jr. wrote: > > So this is another chromium patch I'd like to submit: > > > http://src.chromium.org/viewvc/chrome/trunk/src/third_party/sqlite/preload-cache.patch?revision=26596&view=markup > > > > I'm not the author of that one, but the main idea seems to be that with > > preloading we get better performance with many scenarios chromium uses > > sqlite (like for omnibox local suggestions). What do you think about the > > patch and the idea? Is there better way to do the same thing? Would you > like > > to see some benchmarks? > > I thought about something like that. I took a little different approach: > I've put posix_fadvise(fd, 0, 0, POSIX_FADV_WILLNEED) just after opening > the database file and in my case with a fragmented database (may > insert/update/delete without vacuum) and cold page it was a huge > difference. > > Using posix_fadvise() is asynchronous without any separate thread and > opening the database isn't slowed down - you don't need to wait > until the file is loaded. > > I'm interested in speeding up SQLite when opening a database that is not > in the OS's page cache. Next thing I want to try is to preload only > selected tables/indexes with help of posix_fadvise(). I want to call > posix_fadvice for every child page when traveling through the btree just > before moving down to the first child of the current page. I hope > this will be faster that a regular table/index read because the OS/disk > will have the IO queue full and can reorder read requestes if necessary. > It will be slower than preloading the whole DB, but I don't want to > waste disk bandwidth for that. > > -- > Damian Pietras > > http://www.linuxprogrammingblog.com > _______________________________________________ > sqlite-users mailing list > sqlite-users@sqlite.org > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users