Hi Larry. I do NOT want to sacrifice modularity. I am perfectly happy to keep all the existing code unchanged. What I don't understand (and hopefully you can explain) is *at the Sqlite level*, what is the difference between a mmap pointer and :memory: pointer? If the OS somehow manages to make mmap data slower (even mmapped from a ram disk), so be it. But I don't know why Sqlite would *need* to differentiate between two pointers and *must* go through a different codepath for mmap files. Thanks. Paul.