重點
- 從 18.0 開始,Erlang/OTP 在 APL 2.0(Apache 公共許可證)下發布
- erts:時間功能已擴展。這包括一個新的時間 API,以及在系統時間變更時會改變行為的「時間扭曲」模式。強烈建議您使用新的 API,而不是基於 erlang:now/0 的舊 API。 erlang:now/0 已被棄用,因為它是一個可擴展性的瓶頸。如需更多資訊,請參閱 ERTS 使用者指南的「時間和時間校正」章節。這裡有一個連結。
- erts:除了 API 變更和時間扭曲模式外,還在時間管理方面進行了許多可擴展性和效能改進。範例包括
- 排程器特定的計時器輪,
- 排程器特定的 BIF 計時器管理,
- 在支援它的作業系統上平行擷取單調時間和系統時間。
- erts:先前導入的「急切檢查 I/O」功能現在預設為啟用。
- erts/compiler:增強了對 map 的支援。大型 map 現在內部使用 HAMT (雜湊陣列映射樹) 表示法,使其更有效率。現在也支援變數作為 map 的鍵。
- dialyzer:-dialyzer() 屬性可用於透過指定函數或警告選項來抑制模組中的警告。它也可以用於請求模組中的警告。
- ssl:由於 Poodle 漏洞,移除對 SSL-3.0 的預設支援,並為 TLS-1.0 新增填充檢查。
- ssl:移除對 RC4 加密套件的預設支援,因為它們被認為太弱。
- stdlib:允許將 map 用於 supervisor 旗標和子程序規格
- stdlib:ets 中的新函數
- take/2。其作用與 ets:delete/2 相同,但也返回已刪除的物件。
- ets:update_counter/4 帶有預設物件作為引數
- kernel、stdlib、sasl:引入了一種機制,用於限制內建錯誤記錄器事件產生的文字量。它有助於限制日誌檔的大小以及產生它們所使用的 CPU 時間。(18.1)
此機制是實驗性的,因為它可能會根據回饋意見進行變更。請參閱 Kernel 應用程式中的 config 參數 error_logger_format_depth。
- ssl:為工作階段快取新增可配置的上限。(18.2)