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 驱动程序,从而加快文件操作速度
  • 已移除 non-smp VM
  • 链接和监视针对可扩展性进行了优化
  • os:getenv/putenv 现在在线程安全模拟上工作。不再与 libc getenv(3) 同步。需要手动同步。

编译器: #

  • 包括来自 Elixir 团队的贡献在内的其他编译器优化,使基准测试提高了 10%
  • “元组调用”已从运行时系统中删除。
  • 诸如 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.ac.cn/download/otp_src_21.0-rc1.readme

可以在此处获取 Windows 的预构建版本:https://erlang.ac.cn/download/otp_win32_21.0-rc1.exe https://erlang.ac.cn/download/otp_win64_21.0-rc1.exe

可以在此处浏览在线文档:https://erlang.ac.cn/documentation/doc-10.0-rc1/doc

Erlang/OTP 源代码也可以在官方 Erlang 存储库的 GitHub 上找到,

https://github.com/erlang/otp

OTP-21.0-rc1

感谢您的所有贡献!