我使用numba來加速使用autojit裝飾器的部分Python代碼。測試通過,%timeit顯示代碼確實加速。我可以在單元測試的設置階段編譯numba嗎?
第一次執行速度很慢,因爲我假設numba正在編譯代碼。說得通。但是當我運行一套測試時,他們在極短的10秒內從10個測試中緩慢地運行極端,然後在117秒內對相同測試進行更改。似乎numba必須一次又一次地編譯,分別進行每個測試。
我可以避免這種情況嗎?我曾嘗試在setUp
函數中運行一個簡單的測試,認爲可能會爲所有測試編譯一次函數,但這並沒有顯着改變運行時間。
似乎緩存numba編譯將是最好的解決方案(但它尚未實現)。我能從腦海中想出最好的東西就是製作一個定製的裝飾器,在unittests期間關閉numba。 – U2EF1
您是否碰巧知道暫時關閉numba的建議解決方案? –