每個學Erlang的人都應該知道的efficiency_guide

之前剛開始學習的Erlang的時候稍微看過這個教程,但是沒有看全,發現這個教程還涵蓋了挺多的信息的,今天把這個教程看完,順便做一下總結,教程原版地址

本來是想把所有的總結寫在一篇文章裡面的,但是由於篇幅比較大,所以就把所有的總結分為以下幾篇文章:

  • efficiency_guide:七個Erlang性能的誤區
  • efficiency_guide:需要注意的模塊和BIF
  • efficiency-guide:Binary的構建和匹配
  • efficiency-guide:List處理
  • efficiency-guide:函數
  • efficiency-guide:表和資料庫
  • efficiency-guide:進程

最後再提兩個誤區:

  • 匿名函數很慢 匿名函數過去很慢,慢於apply/3。最初,使用編譯器技巧,普通元組,apply/?3和大量的精巧方法實現了匿名函數。但那是歷史。匿名函數在R6B中給出了自己的數據類型,並在R7B中進一步優化。現在,一個匿名函數的調用開銷大概在調用本地函數和apply/3的開銷之間。
  • 列表推導很慢 以前通過匿名函數實現列表推導,而在過去匿名函數確實很慢。 如今,編譯器將列表推導重寫成一個普通的遞歸函數。