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

Reply via email to