ทำไมยูทิลิตี 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 บิต)