Python pypyheapqc实现

Python pypyheapqc实现,python,python-2.7,pypy,Python,Python 2.7,Pypy,为什么pypy无法使用heapq的c模块,我可以做些什么使其可用 i、 e 修改源时: try: from _heapq import * print "c version" except ImportError: print "py version" pass 然而,皮顿: Python 2.7.13 (default, Nov 24 2017, 17:33:09) [GCC 6.3.0 20170516] on linux2 Type "help", "c

为什么pypy无法使用heapq的c模块,我可以做些什么使其可用

i、 e

修改源时:

try:
    from _heapq import *
    print "c version"
except ImportError:
    print "py version"
    pass
然而,皮顿:

Python 2.7.13 (default, Nov 24 2017, 17:33:09) 
[GCC 6.3.0 20170516] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import heapq
c version
>>> exit()
谢谢


Chris

为什么要使用它?PyPy不支持完整的Python C API。但我希望它能快速运行Python代码。为什么需要C版本?它确实可以快速运行python代码,我希望C版本能够比较它们,我只是希望它能在那里。我正在比较一组优先级队列类型的数据结构。您必须使用CPython而不是PyPy来度量C版本。您可以从CPython的源代码中获取C版本,将其提取为常规C模块(这意味着只需添加setup.py),然后使用pypypy手动编译。但是,我确信结果会慢得多,因为通过模拟的cpythonapi不断调用C代码会带来开销。对于任何实现顶部没有太多数据结构的C扩展来说都是如此。
Python 2.7.13 (default, Nov 24 2017, 17:33:09) 
[GCC 6.3.0 20170516] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import heapq
c version
>>> exit()