I find it strange that there's a big global lock problem with APFS considering
one of the biggest design and selling points was that APFS did NOT use global
locks like the old HFS+ did. -- Darren Duncan
On 2018-10-29 7:13 PM, Simon Slavin wrote:
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."
_______________________________________________
sqlite-users mailing list
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users