惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hugging Face - Blog
Hugging Face - Blog
C
Cybersecurity and Infrastructure Security Agency CISA
G
Google Developers Blog
The Cloudflare Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
The GitHub Blog
The GitHub Blog
TaoSecurity Blog
TaoSecurity Blog
V
Visual Studio Blog
D
DataBreaches.Net
人人都是产品经理
人人都是产品经理
博客园 - Franky
S
Security @ Cisco Blogs
Hacker News - Newest:
Hacker News - Newest: "LLM"
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
C
Cyber Attacks, Cyber Crime and Cyber Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
H
Hackread – Cybersecurity News, Data Breaches, AI and More
腾讯CDC
T
Troy Hunt's Blog
B
Blog RSS Feed
A
About on SuperTechFans
IT之家
IT之家
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
J
Java Code Geeks
S
Securelist
T
Threatpost
SecWiki News
SecWiki News
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Y
Y Combinator Blog
Blog — PlanetScale
Blog — PlanetScale
aimingoo的专栏
aimingoo的专栏
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Forbes - Security
Forbes - Security
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
D
Docker
N
News and Events Feed by Topic
Schneier on Security
Schneier on Security
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
月光博客
月光博客
C
CXSECURITY Database RSS Feed - CXSecurity.com
罗磊的独立博客
H
Hacker News: Front Page
N
News and Events Feed by Topic
N
Netflix TechBlog - Medium
AWS News Blog
AWS News Blog
P
Privacy International News Feed
Scott Helme
Scott Helme
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
V
Vulnerabilities – Threatpost
The Register - Security
The Register - Security

Jeff Geerling

QuadRF can spot drones and see WiFi through my wall The Special Value Pi 4 was extremely short-lived Quickly apply LUTs (color grading) with ffmpeg Framework You can finally power on a Mac remotely I tested every IP KVM in my Homelab It's hard to justify buying a Framework 12 Tuning in FM Radio on a 3D Printer Heatbed News about Raspberry Pi 6 and Microcontroller Development Wi-Wi Is Wireless Time Sync at 1 nanosecond Bambu Lab is abusing the open source social contract HomePod mini feels like magic, but it's just good timing SBC Clusters are a terrible value, but they're fun anyway Raspberry Pi Connect may control Windows soon New 10 GbE USB adapters are cooler, smaller, cheaper An Arm Mainboard for the Framework Laptop Build your own Dial-up ISP with a Raspberry Pi DRAM pricing is killing the hobbyist SBC market Bring back MiniDV with this Raspberry Pi FireWire HAT Using FireWire on a Raspberry Pi The best laptop Apple ever made Restoring an Xserve G5: When Apple built real servers Can the MacBook Neo replace my M4 Air? A PTP Wall Clock is impractical and a little too precise I built a pint-sized Macintosh Expert Beginners and Lone Wolves will dominate this early LLM era
I patched iozone for better disk benchmarks on modern macOS
jeff@jeffgee · 2026-05-27 · via Jeff Geerling

A decade ago, I settled on iozone for disk benchmarking on all my systems. Tools like fio ('Flexible IO' tester) are a little more capable for raw disk performance testing, and other tools test network-scale filesystems better, but iozone gives me an easy overview of real-world disk performance across hard drives and SSDs, and runs on Mac, Windows, and Linux (and a smattering of other OSes).

iozone Website with filesystem performance graph

It's been around since 1991, and is still updated today—in fact, the two latest updates (version 509 and 510) contain patches I sent in to get iozone to compile on Apple Silicon Macs running newer releases of macOS.

I was benchmarking a MacBook Neo, and the iozone compilation step broke my PyInfra benchmarking scripts. I think MacPorts and Homebrew tweaked their build scripts to override any errors, but it's better to just fix the upstream code.

I'm pretty bad with C, so I used a local Qwen model to help validate my fixes; see my patches in this GitHub issue.

I emailed the patches to Don Capps, who maintains iozone, and he incorporated them into the source. Version 510 contains the fix, and builds on all my Macs running macOS 26 with Clang 21.0.0.

cd ~/Downloads
curl "http://www.iozone.org/src/current/iozone3_510.tar" | tar -x
cd iozone3_510/src/current
make --quiet macosx

The clang compiler still spits out a number of deprecation warnings, but you can ignore those.

After a few seconds, you should be able to run iozone to benchmark any storage device on your Mac (set the -f parameter to a file path in any connected volume, to test the filesystem performance on that volume).

Here I'm running it in my Downloads directory, to benchmark the SSD built into the Mac:

./iozone -e -I -a -s 1g -r 4k -r 1024k -i 0 -i 1 -i 2 -f ~/Downloads/iozone

With a 1GB test file size on my MacBook Neo, testing at 4k and 1M block sizes, I get the result:

$ ./iozone -e -I -a -s 1g -r 4k -r 1024k -i 0 -i 1 -i 2 -f ~/Downloads/iozone
  Iozone: Performance Test of File I/O
          Version $Revision: 3.510 $
    Compiled for 64 bit mode.
    Build: macosx 

  Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
               Al Slater, Scott Rhine, Mike Wisner, Ken Goss
               Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
               Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
               Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
               Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
               Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer,
               Vangel Bojaxhi, Ben England, Vikentsi Lapa,
               Alexey Skidanov, Sudhir Kumar.

  Run began: Tue May 26 16:17:26 2026

  Include fsync in write timing
  F_NOCACHE=1 - Turns data caching off
  Auto Mode
  File size set to 1048576 kB
  Record Size 4 kB
  Record Size 1024 kB
  Command line used: ./iozone -e -I -a -s 1g -r 4k -r 1024k -i 0 -i 1 -i 2 -f /Users/jgeerling/Downloads/iozone
  Output is in kBytes/sec
  Time Resolution = 0.000001 seconds.
  Processor cache size set to 1024 kBytes.
  Processor cache line size set to 32 bytes.
  File stride size set to 17 * record size.
                                                                    random    random      bkwd     record     stride                                        
              kB  reclen    write    rewrite      read    reread      read     write      read    rewrite       read    fwrite  frewrite     fread   freread
         1048576       4    666141    188600   1465976   8232715   4415111    915494                                                                
         1048576    1024    859037   1358016   1449306  16421172  15936521   1087545                                                                

iozone test complete.

An average of 1.5 GB/sec for 1MB reads and writes isn't bad. Though writing that... it's mind-numbing how fast local storage has gotten in the past decade since we switched from HDD to SSD, and then from SATA to NVMe. 1.5 GB/sec is insanely fast, historically speaking. But it's rather slow for a single NVMe drive compared to my other machines!

Huge thanks to Don Capps for incorporating my patches into iozone, so it can be used on all flavors of macOS, in addition to Windows, Linux, FreeBSD, etc.