Erlang/OTP 21.0-rc2 可供測試

2018 年 5 月 30 日 · 作者:Henrik Nord

OTP 21 發佈候選版本 2 #

這是 OTP 21 發佈之前,計劃的兩個發佈候選版本中的第二個。

隨著我們越來越接近 OTP 21,我們的目標是提高發佈候選版本的品質和穩定性。

此版本的目的是讓您作為使用者試用並給我們回饋

Erlang/OTP 21 是一個新的主要版本,具有新功能、改進以及不相容性。

潛在的不相容性 #

  • 所有 Corba 應用程式現在都已從 OTP 儲存庫中移除
  • 將會建立一個新的 Corba 儲存庫 https://github.com/erlang
  • 新的應用程式 ftp 和 tftp,已從 inets 中移除
  • ssl 預設不再支援 3_DES 加密套件或 RSA 金鑰交換加密套件
  • 在原始節點(erl_interface、jinterface 等)上使用 erlang:monitor 將不再因為 badarg 異常而失敗。相反地,將會建立一個監控器,但它只會監管與節點的連線。

重點 #

 Erts: #

  • 增強的 IO 可擴展性
  • 支援使用分發控制器程序進行替代傳輸、路由等
  • 在 64 位元系統上,針對 4GB 以下的程式碼使用精簡指令,減少 20% 的已載入程式碼記憶體
  • 使用 NIF 和「Dirty schedulers」重寫 efile 驅動程式,從而加快檔案操作速度
  • 已移除非 smp VM
  • 針對可擴展性優化 link 和 monitor
  • os:getenv/putenv 現在在執行緒安全模擬上工作。不再與 libc getenv(3) 同步。需要手動同步。

編譯器:#

  • 包括來自 Elixir 團隊的貢獻在內的其他編譯器優化,在基準測試中提高了 10%
  • 「Tuple calls」已從執行時系統中移除。
  • 諸如 f({ok, Val}) -> {ok, Val} 之類的程式碼現在會自動重寫為 f({ok, Val} = Tuple) -> Tuple. 這減少了程式碼大小、執行時間,並降低了 GC 的壓力。
  • 來自許多運算子的堆疊追蹤中提供更多資訊
  • erlang:get_stacktrace/0 已棄用,將由 try ... catch C:R:Stacktrace -> ... 取代
  • 優化使用文字金鑰建立小型映射。

安全性:#

  • SSL 中支援 DTLS
  • 增強了透過 TLS 進行分發的支援
  • 從 SSL 和 SSH 的預設值中移除了「不安全」的加密。
  • 定義了一個新的選項值,以方便實作執行伺服器。舊選項保留以保持相容性,但現在會在 stderror 上產生錯誤。

標準函式庫:#

  • 用於記錄的新 API,logger
  • 新的 uri_string 模組,用於根據「標準」剖析 URI
  • 新函式 lists:search(list,fun/1) -> {ok, Value} false
  • 變更了 .erlang 載入的預設行為。escript、erlc、dialyzer 和 typer 將完全不再載入 .erlang。

如需更多詳細資訊,請參閱 https://erlang.dev.org.tw/download/otp_src_21.0-rc2.readme

可在此處獲取 Windows 的預建版本:https://erlang.dev.org.tw/download/otp_win32_21.0-rc2.exe https://erlang.dev.org.tw/download/otp_win64_21.0-rc2.exe

可以在此處瀏覽線上文件:https://erlang.dev.org.tw/documentation/doc-10.0-rc2/doc

Erlang/OTP 原始碼也可以在 GitHub 上的官方 Erlang 儲存庫中找到,

https://github.com/erlang/otp

OTP-21.0-rc2

感謝您的所有貢獻!