Erlang/OTP 19

此版本的 Erlang/OTP 可以从 源代码 构建,也可以使用 预构建的软件包 为您的操作系统或第三方工具(如 kerlasdf)进行安装。

docker run -it erlang:19

重点

  • 编译器,stdlib:
    • 新的预处理器宏 ?FUNCTION_NAME?FUNCTION_ARITY
    • 新的预处理器指令 -error(Term)-warning(Term) 分别用于引起编译错误或警告。
  • gen_statem 一个新的状态机行为
  • mnesia_ext:外部存储解决方案到 mnesia 的插件
  • crypto:在 OpenSSL 中使用 EVP 接口,从而带来总体上更好的性能和对 HW 加速的支持
  • ssh:性能改进,使用新的 gen_statem 行为
  • ssl:增强的错误日志消息
  • dialyzer:对映射的支持在类型规范语法和类型分析方面得到了很大的扩展。
  • erts:
    • erlang:open_port(spawn, ...) 快 3-5 倍
    • 跟踪,广泛的改进(可扩展性、速度、发送/接收时的匹配规范、对 lttng 的支持等等)
    • 脏调度程序改进
    • 每个进程可配置的 message_queue 处理
    • 快速加载多个模块
    • max_heap_size 进程标志
  • erts/kernel:对 Unix 域套接字的实验性支持
    示例:gen_udp:open(0, [{ifaddr,{local,"/tmp/socket"}}])