8

Cython を使用して、すべてのキーが整数型 (または他の静的および既知の型に関係なく) である辞書、および unicode 型 (または他の静的および既知の型) のすべての値で動作する Python モジュールをコンパイルしたいと考えています。 )。

さて、それをスピードアップするために、私は宣言することができます

cdef dict Dict

そしてまた

cdef int k
cdef unicode v

しかし、「dict int->unicode」構造全体の静的宣言を行うことはできますか?

ありがとう、

4

1 に答える 1

10

短い答えはノーだと思います。Cythonはまだ組み込みのPython辞書を使用しています。オブジェクトをdictとして宣言すると、いくつかの最適化を利用できますが、最終的にdictは異なる型のオブジェクトを格納できる必要があるため、コンパイル時にキーまたは値の型を指定することはできません。ただし、これがボトルネックであることを確認するために、最初に確認する必要があります。Python辞書はかなり優れています。

于 2013-10-25T07:53:11.773 に答える