为什么wc实用程序这么慢?
当我在一个大文件上运行它时,它花费的时间比md5sum长20倍:
MyDesktop:/tmp$ dd if=/dev/zero bs=1024k count=1024 of=/tmp/bigfile
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 0.687094 s, 1.6 GB/s
MyDesktop:/tmp$ time wc /tmp/bigfile
0 0 1073741824 /tmp/bigfile
real 0m45.969s
user 0m45.424s
sys 0m0.424s
MyDesktop:/tmp$ time md5sum /tmp/bigfile
cd573cfaace07e7949bc0c46028904ff /tmp/bigfile
real 0m2.520s
user 0m2.196s
sys 0m0.316s
这不仅是由于文件中充满了空值而导致的一种奇怪的边缘情况,即使文件中填充了随机数据或文本文件,我也看到了相同的性能差异。
(这是在Ubuntu 13.04,64位上)