↓ Skip to main content

“However, I discovered a simple update to a widely used technique that makes it possible to run twice as fast as existing solutions on the Apple M1.”

dougalljdougallj.wordpress.com ↗

CRC32 is sixty years old and sits inside zip, PNG, ext4 and Ethernet. The dedicated ARM instruction tops out around 25GB/s in theory. Adapting Intel’s 2009 carry-less multiply method to the M1’s wide core doubles the best existing code. Decades of optimisation still left half the speed on the table.