왜 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
파일이 null로 가득 차서 이상한 가장자리 조건이 아니라 파일이 임의의 데이터로 채워져 있거나 텍스트 파일 인 경우에도 동일한 성능 차이가 나타납니다.
(이것은 Ubuntu 13.04, 64 비트에 있습니다)