Erlang/OTP 21.0-rc1 開放測試

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

OTP 21 發布候選版本 1 #

這是 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-driver,加快檔案操作速度
  • 移除 non-smp VM
  • link 和 monitor 針對可擴展性進行了最佳化
  • os:getenv/putenv 現在在執行緒安全模擬中運作。不再與 libc getenv(3) 同步。需要手動同步。

編譯器:#

  • 各種編譯器最佳化,包括 Elixir 團隊的貢獻,使基準測試效能提升了 10%
  • 「Tuple 呼叫」已從執行階段系統中移除。
  • 現在會自動將諸如 f({ok, Val}) -> {ok, Val} 之類的程式碼重寫為 f({ok, Val} = Tuple) -> Tuple.,這樣可以減少程式碼大小、執行時間並降低 GC 壓力。
  • 來自多個運算子的堆疊追蹤中提供更多資訊
  • erlang:get_stacktrace/0 已棄用,將被 try ... catch C:R:Stacktrace -> ... 取代
  • 最佳化了使用文字鍵建立小型 map 的過程。

安全性:#

  • 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-rc1.readme

可在這裡取得 Windows 的預先建置版本: https://erlang.dev.org.tw/download/otp_win32_21.0-rc1.exe https://erlang.dev.org.tw/download/otp_win64_21.0-rc1.exe

您可以在這裡瀏覽線上文件:https://erlang.dev.org.tw/documentation/doc-10.0-rc1/doc

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

https://github.com/erlang/otp

OTP-21.0-rc1

感謝您的所有貢獻!