回答
我不能說芝加哥老闆的表現,但Erlang的網絡服務器一般都很快。
由於Erlang的併發原語,它們對於多個併發連接也非常有用。我知道芝加哥老闆不使用Yaws,但這是一張Apache vs. Yaws圖表,僅供參考。同意,C在許多情況下速度更快,但在C處理過程中您將獲得的任何速度,當您擁有多個用戶時,您將會失去。可以這樣想:
- C可能需要10個時間單位來完成一個任務,但20個單位切換到下一個客戶端並返回。
- Erlang可能需要15個單位時間來完成,但需要約5個單位來切換客戶端。
- 免責聲明:時間單位只是相對的條款。我並不是說這些都是正確的比例,我只是說,一旦你開始有多個事情同時發生,這就是Erlang的目標,C的速度優勢不會是一個很大的因素。
通常Erlang比在C中做同樣的事情慢大約4-5倍,儘管它在速度上損失了很多,它在效率,簡單性和穩定性方面都有所提升。做Erlang擅長的東西,我認爲它大約是C的2-3倍。它也可以編譯爲本地二進制文件,以加速它的20%左右。
只要知道Erlang不擅長的大量常見事情,比如字符串操作和數字運算。 Erlang是爲分發而設計的(在大多數語義中),所以這就是它的優點。
哦,還有關於單個機器的卓越性能:不超過C應用程序的一半。但是,再次,這仍然可能比ruby,php或python等效的速度快30-40倍。
那麼Erlang擅長什麼? 另外,Erlang是否需要在C中手動處理很多事情(如垃圾回收)? – user94154 2010-02-01 19:30:13
是的,這就是我的意思是高效,簡單和穩定。基本上,在Erlang中需要10行代碼需要100個C語言。Erlang中的錯誤處理非常簡單,並且產生了新的進程。這些事情在C中花費了大量的開發時間。Erlang在現實生活中的應用程序的正常運行時間爲99.9999999%,僅僅是因爲它的設計失敗而不會崩潰,因爲它必須用於電信和類似的東西。您可以在運行時更新應用,這非常少見。 – 2010-02-01 19:36:22
哦,關於垃圾收集..本身沒有這樣的東西。 Erlang沒有狀態,它是一種功能語言。變量只能設置一次,所以內存溢出不會發生(除非你嚴重損壞或故意這樣做)。 – 2010-02-01 20:09:07
- 1. 控制器過濾器在芝加哥老闆無法運行
- 2. 錯誤的「init終止於do_boot」芝加哥老闆
- 3. 如何整合芝加哥老闆和Webmachine?
- 4. 芝加哥老大的默認Web服務器是什麼?
- 5. 芝加哥老闆來自視圖的參考序列/集合元素
- 6. 最好的芝加哥字體替代
- 7. 與老闆,工人
- 8. Java無法解析的日期:美國/芝加哥時區
- 9. 城市登錄頁面的URL設計:/芝加哥或/?_ city = chicago
- 10. 那裏有一個jQueryUI LessCss模板嗎?
- 11. 得到老師在那裏第一次exsits和第二學期
- 12. 假人在那裏對性能
- 13. ActionScript 3的附加老闆
- 14. 上分享Netty的老闆/工人池
- 15. 老闆 - 工人模型設計
- 16. Magento的 - 在那裏把模板
- 17. 在那裏用jQuery
- 18. 有沒有人有使用swing的Java老虎機的例子?
- 19. PHP:在那裏
- 20. 在那裏我可以使用linqpad
- 21. 當使用POST並在那裏得到
- 22. WhatsApp在我的聯繫人列表中知道誰在那裏有用戶
- 23. 如何使用AREL EQ()方法,在那裏與加入數據
- 24. 使用Allegrograph配置芝麻
- 25. 讓所有在那裏FIELDA在MySQL中
- 26. 重新加載後留在那裏
- 27. 無法加載System.Data.SqlServerCe.Entity.dll(但它在那裏)
- 28. 即使將lat long設置爲其他位置,地點自動完成總是返回芝加哥結果
- 29. 那裏有相關表格
- 30. 那裏有什麼pcap_pkthdr?
做出一些網站其實我發現芝加哥老闆的創作者在這裏的一天。驚訝他還沒有評論你。 – samoz 2010-06-09 17:38:37
奇怪的是兩年後,這突然變成了「脫離主題」。即使問題沒有正確框定,這裏的答案也很有幫助。我可以編輯刪除國旗嗎? – user94154 2013-01-29 14:48:08