This post is about a problem with Apple's new APFS file system. The problem will affect you only if you have multiple reads/writes happening at the same time. The problem involves merely slowing of performance, not corruption of databases or incorrect answers being returned by SQLite.
Gregory Szorc, expert on Mercurial (revision control and tracking software) investigated a report that Mercurial was performing slowly on new Macs, and deduced that the cause was that APFS uses a kernel-level global lock, not only on writes (expected) but also on reads when no writing was happening (unexpected). Technical details can be found here: <https://gregoryszorc.com/blog/2018/10/29/global-kernel-locks-in-apfs/> The more parallel operations are trying to access the storage device, the slower it gets. This post is intended to urge users to avoid premature optimization by parallel processing, and to consider that slow performance may not be SQLite's fault. This is not a "Macs suck" post. Please consider the following text from the article (which comes with relevant links): "While this post is about APFS, this issue of global kernel locks during common I/O operations is not unique to APFS. I already referenced similar issues in AUFS. And I've encountered similar behaviors with Btrfs (although I can't recall exactly which operations). And NTFS has its own bag of problems." Simon. _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users