Erlang/OTP R16B performs better
Erlang/OTP R16B, the latest major release of the language designed for building hugely scalable real-time systems, has been released by the Erlang developers. Licensed under the Erlang Public Licence (a modified version of the Mozilla Public Licence), Erlang/OTP R16 brings a number of optimisations to the internals of the Erlang runtime. Erlang R16A was the beta version of this new version and was released at the end of January.
The latest release includes optimisations of process handling within the VM, run queue management, and process state changes. Loading code no longer blocks the system and a new internal process table implementation allows for parallel reads and writes. A new internal port table with dynamic allocation of structures raises the maximum number of ports from 1024 to 65536, and there has also been a rewrite of port task scheduling.
Erlang is the language which powers Riak, CouchDB and GitHub, as well as numerous telecommunication applications, either in part or completely. Erlang/OTP (Open Telecom Platform) is the open source version of the language, combined with middleware libraries for developing distributed systems, which was released by the language's originators at Ericsson in 1998. For those unfamiliar with the language, the book "Learn you some Erlang (for great good)" is available to read online or in print and provides a complete introduction.
Other changes in Erlang/OTP R16B include the ability to write Erlang code with UTF8-encoded characters in the source code and support for proxied HTTPS and wxWidgets on 64-bit Mac OS X. The support for parameterised modules has been removed, but the developers are offering an alternative solution.
Further details of the changes are available in the R16B Readme file; the source code for R16B is available for download. Binaries for 32- or 64-bit Windows and man pages are available from the download page, while binaries/installation instructions for Raspbian, Ubuntu, Fedora, Mac OS X and other systems are available from Erlang Solutions.
(djwm)