私は numba を使用して、autojit デコレーターを使用して Python コードの一部を高速化しました。テストに合格し、%timeit はコードが実際に高速化されていることを示しています。
最初の実行が遅いのは、numba がコードをコンパイルしているためだと思います。理にかなっています。しかし、一連のテストを実行すると、実行速度が非常に遅くなり、変更前の 10 個のテストが約 10 秒、同じテストが 117 秒で完了しました。numba は、テストごとに別々に、何度も何度もコンパイルする必要があるようです。
これを避けることはできますか?関数内で 1 つの簡単なテストを実行しようとしましたsetUp
が、すべてのテストで関数が 1 回コンパイルされる可能性があると考えましたが、実行時間は大幅に変わりませんでした。