是什麼本地和字節二郎模塊之間的性能差異?是什麼本地和字節二郎模塊之間的性能差異?
回答
對於實際執行大量工作的代碼(與花費大部分時間等待消息或調用內置函數相反),典型的加速將在8到20次之間。
這也很大程度上取決於什麼代碼的功能:遍歷浮點運算或二進制文件的操作/位串,往往會獲得最佳的加速,而更多的正常元組和列表的操作代碼可能無法得到超過快8-10倍。
另外,請記住,編譯爲本地代碼迴路不會得更快,如果循環體主要是調用未編譯爲本地其他模塊。
(這已經有一段時間,因爲我看着新鮮的基準測試結果,但我不認爲發生了很多變化。)
有幾個正確答案了,但我想你實際上需要測量您特定功能的性能。如果關鍵區域是較合理的字節碼版本快,有可能仍然工作,清理模塊,使其故障安全。
是的,總是衡量! :) – Zubair 2010-02-14 22:12:00
性能方面,HIPE優化模塊中 - 而不是模塊間的調用。這可以產生很好的加速比(x4..x10似乎普遍吹捧號),但是正如其他人說,如果你的代碼花費了大量的時間等待外部事件的增速將是微不足道的。
事情需要提防的是,HIPE顯然不支持一些進步的語言功能,如參數化模塊。這意味着一些最近的應用程序(如MochiWeb)根本無法運行。考慮到這一點。
在一個相關的說明,您可能會發現本文有用:
user.it.uu.se/~kostis/Papers/erlang03.pdf
當中描述了使用HIPE出現的侷限性,它也有一些(很基本的)速度comparisations。
的兩件事情,我發現最顯着的:
- 老HIPE代碼,加載時,不會消失,但永遠徘徊。因此,如果您處於非常頻繁地重新加載代碼的環境中,則會導致內存泄漏。通常不是一個真正的問題,但值得考慮的,如果你沒有一個良好的「退出策略」爲您的節點(它允許您無縫地從節點羣集的和新鮮的不時替換他們 - 也無價有當你想升級到更新的BEAM-VM版本。)
- 有一些開銷本地和解釋的代碼之間切換時,所以你會盡量避免在可能的情況(通過編譯,與頻繁交互的所有模塊相同的編譯器)
- 1. 塊和回調之間的性能差異是什麼?
- 2. RTP over UDP和RTSP/RTP之間的性能差異是什麼?
- 3. 類和結構之間的基本功能差異是什麼?
- 4. 是什麼地圖{}和地圖之間的差異()
- 5. 本機Canvas API和html5 canvas API之間的性能差異是什麼?
- 6. 什麼是經典文本和TLF文本之間的差異
- 7. epoll和kqueue之間有什麼主要的性能差異嗎?
- 8. 是什麼在這個地方_B和B之間的差異
- 9. Swazoo和Komanche之間的性能差異?
- 10. 庫和本地庫之間的差異
- 11. Django中DEBUG = True和False之間的功能差異是什麼?
- 12. AspectJ和PostSharp之間的功能差異是什麼?
- 13. 是什麼/ * ... * /之間的差異/ ** ... */
- 14. 什麼之間的差異(和[?
- 15. 單引號和雙引號html屬性之間的功能差異是什麼?
- 16. JVM方法調用和遠程調用之間的性能差異是什麼?
- 17. 原生2d繪圖API和HTML5 canvas API之間的性能差異是什麼?
- 18. 在Java中,新建和本地之間是否存在性能差異?
- 19. 爲什麼分配的變量地址之間有16個字節的差異?
- 20. BEAM和JVM之間的某些基本功能/架構差異是什麼?
- 21. 字節翻轉和字節交換之間的差異
- 22. 爲什麼兩個查詢之間的性能差異?
- 23. 爲什麼R()和lapply()之間的性能差異如此之大?
- 24. Ubuntu和Macports版本的PHP之間奇怪的性能差異
- 25. 基於性能的零和空字符串之間的差異
- 26. 是什麼地圖之間的差異,並收集紅寶石
- 27. 常規字符串和模板字符串之間的性能差異?
- 28. RenderPartial和Partial之間是否有任何大的性能差異?
- 29. 二進制和XML序列化之間是否存在性能差異?
- 30. VARCHAR2與NUMBER之間的性能差異
相關:http://stackoverflow.com/questions/2207451/erlang-compilation-mixed-of-hipe-object-code-and-opcode – jldupont 2010-02-14 22:21:35
相關:HTTP://計算器。com/questions/2207481 /本地編譯的約束與侷限性 – jldupont 2010-02-14 22:22:47