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 儲存庫中找到,
感謝您的所有貢獻!