実際には単なる「構造体」であるいくつかのクラスを使用する Python で記述されたコードがいくつかあります。これらのクラスのインスタンスには、一連のフィールドがあり、メソッドはありません。例:
class ResProperties:
def __init__(self):
self.endDayUtilities = 0
self.marginalUtilities = []
self.held = 0
self.idleResource = True
self.experience = 0.0
self.resSetAside = 0
self.unitsGatheredToday = 0
私たちのメイン コードは、このクラスのインスタンスの束を使用します。
コードを高速化するために、このクラスを cython 化したと考えました。
cdef class ResProperties:
cdef public float endDayUtilities
cdef public list marginalUtilities
cdef public int held
cdef public int idleResource
cdef public float experience
cdef public int resSetAside
cdef public int unitsGatheredToday
def __init__(self):
self.endDayUtilities = 0
# etc: code just like above.
しかし、その結果、コードの実行速度が 25% 遅くなりました!
コードの実行速度が低下している原因を突き止めるにはどうすればよいですか?
ありがとう。