A few hours ago, the Erlang team announced the latest release of the programming language and its entire platform.
I remind you that Erlang/OTP is designed for creating highly scalable systems that operate in soft real-time mode with high availability requirements. The platform has long been successfully used in areas such as telecommunications, banking, e-commerce, telephony, and instant messaging.
The main changes in this release:
- A new (experimental) socket module has been added that provides low-level access to OS sockets. This is not a replacement for gen_tcp and others, and it does not yet work on Windows (on the microbenchmark it showed a speed increase of ~40% compared to gen_tcp)
- The compilation stages and internal representations of the compiler have been modified to add new optimizations (detailed overview)
- Optimizations for pattern matching with binary data types are now applied in more cases.
- Large messages in the Erlang Distribution Protocol (responsible for data transfer between nodes) are now split into several fragments.
- I would like to draw attention to the modules counters, atomics and persistent_term added in 21.2, which expand the toolkit for working in a concurrent environment.
Improvements also affected the length/1 function on long lists, ETS tables of type ordered_set, the NIF interface has received the enif_term_type function, compiler options for erlc, SSL version, and functions of the crypto module.
A blog post detailing the changes, with examples and benchmarks.
Source: linux.org.ru
