0

我有一个具有以下文档结构的 Python 项目:

/scripts
    main.py
/classes
    myclass.py
    ...

中定义的类myclass.py有一个我打算加速的方法。我通过将它们的一部分加入函数来实现这一点,myclass.py如下所示:

def myclass:
    def method1:
        ...
    def method2:
        ...
        out1 = function1(inputs)
        out2 = function2(out1,other_inputs)
    ...
@njit()
def function1(inputs)
    ...
@njit()
def function2(inputs)
    ...

当我在不离开 myclass.py 的情况下调用 jited 函数两次时,它们在第二次调用期间运行得更快。这是预期的结果,因为在第一次调用期间进行了编译。但是当我第二次从 myclass.py 外部调用类方法时(在我的例子中是从 main.py),jitted 函数再次编译,我根本无法从加速中受益。对于这个用例提前 (AoT) 编译看起来像是一个解决方案,但是显式定义函数签名的必要性目前阻止了我使用它。因此,我想知道是否有一种方法可以在不使用 AoT 编译的情况下将我的函数的加速版本保存在不同的文件中。感谢您的回答。

4

0 回答 0