I have a ZFS RAIDZ3 filesystem under OpenSolaris (actually a Nexenta build so a GNU userland on top of OpenSolaris kernel).
"dd if=filename of=/dev/null bs=8k" gives me ~66Mbytes/sec. "cat filename | dd of=/dev/null bs=8k" gives me ~142Mbytes/sec.
WTF? Why would using cat *increase* the overall speed? The only thing I can think of is readahead, but why would cat cause that to happen while dd doesn't?
-Adam Thompson athompso@athompso.net