Cython - 字典键和值静态类型定义

时间:2013-10-13 08:08:00

标签: python cython

我想使用Cython编译一个Python模块,该模块使用一个字典,其中所有键都是类型,比如整数(或者无论其他静态和已知类型),以及unicode类型的所有值(或其他静态和已知)。

现在,为了加快速度,我可以宣布

cdef dict Dict

以及

cdef int k
cdef unicode v

但是,我可以对整个“dict int-> unicode”结构进行静态声明吗?

谢谢,

1 个答案:

答案 0 :(得分:7)

我认为简短的回答是否定的。 Cython 仍在使用内置的 Python 字典。如果将对象声明为 dict ,它可以利用一些优化,但最终 dict 必须能够存储不同类型的对象,因此您无法指定编译时 key value 类型。但是你应该先检查一下,确保这是一个瓶颈。 Python 词典相当不错。