Python gzip模块基准测试

解压性能测试
以下是压缩性能测试
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()能加速自带模块的速度。

你可能感兴趣的:(Python)