On Thu, Apr 4, 2013 at 4:02 PM, Richard Hipp <d...@sqlite.org> wrote:
> By making use of memory-mapped I/O, the current trunk of SQLite (which will > eventually become version 3.7.17 after much more refinement and testing) > can be as much as twice as fast, on some platforms and under some > workloads. We would like to encourage people to try out the new code and > report both success and failure. > Not particulary about this draft version, but about my experience with memory mapped files on Windows If you don't mind . When I worked with memory-mapped files on Windows two years ago, I implemented a library for accessing files virtually unlimited in size with sliding-view approach. There was an interesting effect affecting the system as a whole. It's when I write sequentially and starting some point the system became unresponsive as a whole. This is an important point, not the application that wrote to the file, the whole system, so no Alt-Tab, no blinking caret in another application and sometimes even no mouse moving. I tried to report and MS forums ( http://social.msdn.microsoft.com/Forums/en-US/windowsgeneraldevelopmentissues/thread/81dd029f-2f55-49f2-bd02-1a8ceb0373eb), but seems like this wasn't noticed. I added a small procedure to show the effect at the forum topic in pascal (it's sill there) that can easily be ported to any other language supporting windows api directly. Right now I tried to reproduce this while writing this message. The machine is windows 64 bit 4 Gb memory. I started the program writing the the file until 10Gb. And no surprise, at about 5-6 Gb, the notepad (another application), stopped responding on my key presses, the caret stopped blinking and Alt-tab and taskbar didn't work for about a minute. So I could not do anything (!) on my computer for about minute or so while other application did something using official documented API. I don't know whether such scenario is possible with sqlite. Only that on Windows memory-mapped files are still implemented as a very special entity, sometimes having exclusively more permissions than other entities regardless of permissions of the application that uses it. Probably I should do some particular sqlite-specific tests to find out whether this affects sqlite but before this I wanted to share this information. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users