2010-11-02 53 views
9

這是一種主觀的,但我有麻煩讓LLVM JIT加快速度。即使在開啓懶惰編譯的情況下,對大量代碼的處理也要花費50倍的時間。LLVM JIT加快選擇?

所以我想知道我怎麼能超速起來,我可以使用什麼樣的設置?

其他建議?

回答

11

我很抱歉地說LLVM作爲一個JIT編譯器不是很快,它作爲一個AOT /靜態編譯器更好。

我在llvm-lua項目中遇到了相同的速度問題。我所做的是禁用JIT編譯大型Lua函數。 llvm-lua沒有啓用延遲編譯支持,因爲LLVM需要太多的C-stack空間來從Lua協程運行。

此外,如果你在你的程序的main()函數中使用這樣的:

llvm::cl::ParseCommandLineOptions(argc, argv, 0, true); 

它會暴露從LLVM命令行選項很多像「 - 時間通行證」,這將使LLVM經過時間,查看JIT編譯的哪些部分花費最多的時間。