我经常使用cython包装c ++类。所有的计算都是用c ++完成的,而cython只用于将变量传递给构造函数并从c ++中获取结果。
对于最近的一个项目,我遇到了以下问题:代码(初始化一个类然后调用一个方法)最初运行正常,但是在重复调用相同的方法之后(我无法准确再现) ),当调用相同的方法时,它突然比正常情况下运行的频率至少慢了1000倍。
我的问题是:什么可能导致这种看似随机的行为,你会如何调试呢?
我知道如果不看代码就无法解决这个问题,但它很大,而且我不知道问题行为的来源。我只想询问如何解决它的提示和策略。
我尝试的事情:
一个提示可能是,如果我运行没有ipython的--pylab选项的python代码,它会抱怨找不到符号,但这是我能够识别的唯一问题。