Huh, my implementation of strings(1) being faster kind of makes sense, it's a lot simpler since it doesn't and won't do ELF stuff, but wc(1)?
(And haven't checked how coreutils makes it's base64 faster, hopefully not compiler or x86_64-asm magic, which is what I'd expect for sha*sum)
Seconds on vertical axis, head -c $size /dev/urandom piped to stdin on horizontal axis (sampled twice).
bench-coreutils.png
bench-busybox.png
bench-utils-std.png
3 media files
Same thing but year later and with comm(1) added (based on
head -c $size /dev/urandom >/dev/shm/in1 && cp /dev/shm/in1 /dev/shm/in2so nice tricks like looking at the inode doesn't works)versions: busybox-1.36.1(-r4) coreutils-9.12 utils-std-0.6.0-3-g4253bab
bench-coreutils.png
bench-busybox.png
bench-utils-std.png