Emscripten可以從C/C++生成比JS代碼更快的代碼,這是否意味着我們應該用C/C++編寫新代碼並編譯它們以便在Web上運行?當asm.js比正常的JS代碼更快時,爲什麼我應該在JS中編寫新代碼?
我閱讀了Emscripten FAQ,它說:「通過所有手段編寫新的JavaScript代碼」,爲什麼?
Emscripten可以從C/C++生成比JS代碼更快的代碼,這是否意味着我們應該用C/C++編寫新代碼並編譯它們以便在Web上運行?當asm.js比正常的JS代碼更快時,爲什麼我應該在JS中編寫新代碼?
我閱讀了Emscripten FAQ,它說:「通過所有手段編寫新的JavaScript代碼」,爲什麼?
asm.js不是執行Javascript代碼的更快方法。這是運行已經降低到機器代碼抽象級別的代碼的一種更快的方式。你似乎大大高估了收益:
走這條路有顯著缺點還有:
唯一種代碼,我期望從asm.js獲得足夠的使用是:
我會鼓勵勇敢的嘗試在那裏的任何3d演示代碼中探索js。完全無法理解。 – meawoppl 2014-03-03 05:42:50
除非你真的能感覺到你的JS和asm.js之間的區別,否則不要碰C++。 – DCoder 2013-05-13 16:51:52
很少有JavaScript實際上「做得」足以讓任何區別。當然,有一些JavaScript需要一些時間來完成它的工作,並且有一些寫得很糟糕的JavaScript需要很長的時間才能運行。但編譯它並不能真正解決後者。 – 2013-05-13 16:54:21
@allfox你在這裏混合2件事。 1.從C/C++到Javascript的交叉編譯可能會更快,2.通過Javascript使用asm.js幾乎總是會更快。但是你想知道前者還是後者? – abergmeier 2013-05-14 15:31:41