Erlang/OTP 20.0 发布,动态类型编程语言

局长
 局长
发布于 2017年06月24日
收藏 3

Erlang/OTP 20.0 是一个新的主要版本,带来了新功能、一些特征以及不兼容性的改进。

与第二次发布的 RC 版相比,只有很小的变化,下面列出了其中的一部分:

  • ERTS:

    • erlang:term_to_binary/1 更改了所有 atoms 的编码,由 ATOM_EXT 变为 ATOM_UTF8_EXT 和 SMALL_ATOM_UTF8_EXT。因此只有包含 unicode 字符的 atom 才使用 UTF8 标签编码,其他的 atoms像以前一样编码为 ATOM_EXT

以下是 OTP 20 中的一些重要更新:

Erts:

  • Dirty schedulers enabled and supported on VM with SMP support.

  • support for “dirty” BIFs and “dirty” GC.

  • erlang:garbage_collect/2 for control of minor or major GC

  • Erlang literals are no longer copied when sending messages.

  • Improved performance for large ETS tables, >256 entries (except ordered_set)

  • erlang:system_info/1 atom_count and atom_limit

  • Reduced memory pressure by converting sub-binaries to heap-binaries during GC

  • enif_select, map an external event to message

  • Improvements of timers internally in the VM resulting in reduced memory consumption and more efficient administration for timers

Compiler:

  • Code generation for complicated guards is improved.

  • Warnings for repeated identical map keys. #{'a'=>1, 'b'=>2, 'a'=>3} will warn for the repeated key a.

  • By default there is now a warning when export_all is used. Can be disabled

  • Pattern matching for maps is optimized

  • New option deterministic to omit path to source + options info the BEAM file.

  • Atoms may now contain arbitrary unicode characters.

  • compile:file/2 has an option to include extra chunks in the BEAM file.

更新内容较多,详情点此查阅

下载地址:

发布主页

Erlang 是一个结构化,动态类型编程语言,内建并行计算支持。最初是由爱立信专门为通信应用设计的,比如控制交换机或者变换协议等,因此非常适合于构建分布式,实时软并行计算系统。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Erlang/OTP 20.0 发布,动态类型编程语言
加载中
返回顶部
顶部