【发布时间】:2014-02-17 15:45:28
【问题描述】:
我使用 numba 使用 autojit 装饰器来加速我的部分 Python 代码。测试通过,%timeit 显示代码确实加速了。
第一次执行很慢,因为我认为 numba 正在编译代码。说得通。但是,当我运行一套测试时,它们非常运行得很慢,从我更改前大约 10 秒内的 10 次测试到 117 秒内的相同测试。似乎 numba 必须一次又一次地为每个测试单独编译。
我可以避免这种情况吗?我尝试在 setUp 函数中运行一个简单的测试,认为可能会为所有测试编译一次该函数,但这并没有显着改变运行时间。
【问题讨论】:
-
似乎缓存 numba 编译将是最好的解决方案(但尚未实现)。我能想到的最好的事情就是制作一个自定义装饰器,在单元测试期间关闭 numba。
-
您是否知道暂时关闭 numba 的推荐解决方案?
标签: python nose python-unittest numba autojit