发布于 2017-06-23 23:46:50 | 161 次阅读 | 评论: 0 | 来源: 网友投递
Erlang 编程语言
Erlang是一个结构化,动态类型编程语言,内建并行计算支持。最初是由爱立信专门为通信应用设计的,比如控制交换机或者变换协议等,因此非常适 合于构建分布式,实时软并行计算系统。
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 中的一些重要更新:
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
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.
更新内容较多,详情点此查阅。
下载地址: