On Sun, Nov 23, 2014 at 4:26 PM, James K. Lowden <jklow...@schemamania.org> wrote: > Metadata updates to Posix filesystems are seen as so costly that > fsync(2) on the datafile descriptor doesn't update them. A separate > sync on the directory is required. Compared to an in-memory update > (of metadata, in kernel space) and a single fsync call, the price of a > SQLite transaction is enormous, at a guess an order of magnitude more.
This. Updates of mtime and atime in particular are expensive. Another problem (for Lustre-style clusters) is stat(), since it returns information that only a metadata service might know (e.g., file type, file ID (st_dev and st_ino), and link count) but also information that it might not (file size, various timestamps), which then presents enormous headaches for implementors. There are also write visibility rules as to stat() that some applications depend on... This is why "ls -l" can be slow on some such clusters. Nico -- _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users