解压性能测试
以下是压缩性能测试
test.data 是有三列数字域的文本文件。
注意: 测试机是四核的, 这意味着将gzip作为子进程会比在单核机器上要快一点点。
# time head -c 8m test.data | gzip > test.data.gz
real 0m1.133s
user 0m1.085s
sys 0m0.023s
# time head -c 8m test.data | python2.7 -c 'import gzip, sys; gzip.open("test.data.gz", "w").writelines(sys.stdin)'
real 0m8.779s
user 0m8.715s
sys 0m0.041s
# time head -c 8m test.data | python2.7 -c 'import gzip, sys, io; io.BufferedWriter(gzip.open("test.data.gz", "w")).writelines(sys.stdin)'
real 0m4.207s
user 0m4.156s
sys 0m0.042s
# time head -c 8m test.data | python2.7 -c 'import sys, os; os.popen("gzip > test.data.gz", "w").writelines(sys.stdin)'
real 0m1.237s
user 0m1.195s
sys 0m0.074s
结论: 同样的,os.popen(gzip) 是最快的方法。引入io.BufferedReader()能加速自带模块的速度。