Ok there is something a bit fucky going on with read(2) on MacOS Sequoia 15.7.4 - it slows down dramatically when the number of bytes requested to read goes above about 2047KiB.
I wonder if I can reproduce this in C code? Job for tomorrow. Or maybe I’ll just limit reads to 1MiB and call it good enough…