编辑:特别是压缩和提取速度。
有什么建议么?
Thanks
所以我制作了一个随机的大压缩文件:
$ ls -l *zip
-rw-r--r-- 1 aleax 5000 115749854 Nov 18 19:16 large.zip
$ unzip -l large.zip | wc
23396 93633 2254735
即 116 MB,其中包含 23.4K 个文件,以及定时内容:
$ time unzip -d /tmp large.zip >/dev/null
real 0m14.702s
user 0m2.586s
sys 0m5.408s
这是系统提供的命令行解压缩二进制文件——毫无疑问,它与纯 C 可执行文件一样经过微调和优化。然后(清理 /tmp 后;-)...:
$ time py26 -c'from zipfile import ZipFile; z=ZipFile("large.zip"); z.extractall("/tmp")'
real 0m13.274s
user 0m5.059s
sys 0m5.166s
...这是 Python 及其标准库 - 对 CPU 时间的要求更高一些,但实际上(即经过的时间)快了 10% 以上。
当然,欢迎您重复这样的测量(在您的特定平台上 - 如果它的 CPU 较差,例如缓慢的 ARM 芯片,那么 Python 对 CPU 时间的额外要求可能最终会使其变慢 - 以及您感兴趣的特定 zip 文件,因为每个大的 zip 文件将具有非常不同的组合,并且很可能具有不同的性能)。但这对我来说意味着没有足够的空间来构建比旧的 Python 扩展更快的扩展zipfile
-- 因为 Python 使用它击败了纯 C、系统包含的解压缩!-)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)