CPython 与 PyPy 都能用的XML解析器大决杀

junwong 发布于 2012/05/18 17:43
阅读 3K+
收藏 9
最近的文章中,我比较了在CPython 3.3中使用 MiniDOM以及ElementTree,cElementTree,lxml.etree在XML解析的性能差别。比较结果则是MiniDOM在纯Python环境下以绝对劣势落败,然而我还想在PyPy1.7这个环境下也比较一下。因为 lxml.etree与cElementTree在该平台下是不可用的。所以这一次仅仅比较了ElementTree与MiniDOM。CPtyon环境的比较结果如下.


值得注意的是我在这次比较中也比较了它们的内存使用量,这次没有把PyPy与CPython直接比较,是因为这两个平台在内存管理机制上是不一样的,而且PyPy在启动时所需要的内存也是远远多余CPython。所以直接拿它们比较肯定是不准确的。


那么我们可以从这比较结果图中看出什么呢?如果你已经习惯了 MiniDOM 编码的话,那么建议你在PyPy环境去运行MiniDOM,因为不管是在性能还是内存使用上,MiniDOM在PyPy环境下比其他几个XML解析器要好很多。

然而,如果只是以XML解析速度的角度看问题的话,意味着你能在CPython中同时解析好几个XML文件,相反在PyPy中只能一次性解析一个。

综上所述,你采用哪个XML解析器还是取决于程序运行的平台以及内存提供的多少,Benchmark表能告诉我们一切。


原文链接, OSChina.NET原创翻译

加载中
0
nobody1986
nobody1986

pypy 现在不是1.8么?测试还用的1.7?

pypy确实是一个很有潜力的东东

0
雪候鸟
雪候鸟

什么时候大多数主流库都能支持pypy了,才敢用在工程上。

目前,一般应用对性能没有那么高的要求,性能并不是严重的问题。

0
杨超2
杨超2
正考虑到在网游服务端集成pypy作脚本引擎,所以性能当然越快越好
0
kuafoo
kuafoo
pypy 稳定性还是有一些问题,目前来看 提升的性能还比较有限
返回顶部
顶部