`

pypy的一个测试

 
阅读更多

pypy-1.9 昨天已经发布,据称性能又有所提高。

 

于是我特地用一个东西来测试一下:

 

就是bson的 encode效率

 

pymongo的bson自带一个用c写的扩展用于speed up速度。

 

在我的t400, win7下测试。大约一秒钟可以encode  10万的数据。

 

用pypy-1.9速度能达到多少呢?  同样的bson without c_extension。

 

速度大约为每秒9万。

 

某种程度上说,pypy-jit的效率已经逼近用c写的代码。而用c写代码让py来加速 就算现在用上cython也是比不上直接上python来得方便。

 

另外一个好消息是:cython现在最新的dev版本 大致上可以和pypy一起工作了。这样很多东西就有了实现的可能。

例如 cx_freeze & pypy。

 

pypy鼓励大家使用py来写代码而不是用c。但是这个世界终究没那么理想和纯粹,有不少的库我们没法很方便地用py重写。 pypy的c-api 的支持十分的糟糕,以至于有不少著名的包专门为此制作了 ctypes based的版本。

 

对于ctypes..我个人的意见是:如果能使用cython 就不要用ctypes。特别是要和cx_freeze一起用的话.......

 

这个月工作告一段落后,打算抽些时间研究一下cx_freeze。看能否让它和pypy一起工作。pyp最近的进展很令人振奋。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics