aboutsummaryrefslogtreecommitdiffstats
path: root/system/doc/top/highlights.xml
diff options
context:
space:
mode:
Diffstat (limited to 'system/doc/top/highlights.xml')
-rw-r--r--system/doc/top/highlights.xml238
1 files changed, 238 insertions, 0 deletions
diff --git a/system/doc/top/highlights.xml b/system/doc/top/highlights.xml
new file mode 100644
index 0000000000..a30742aed6
--- /dev/null
+++ b/system/doc/top/highlights.xml
@@ -0,0 +1,238 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE chapter SYSTEM "chapter.dtd">
+
+<chapter>
+ <header>
+ <copyright>
+ <year>2006</year><year>2009</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder>
+ </copyright>
+ <legalnotice>
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
+ </legalnotice>
+
+ <title>Highlights</title>
+ <prepared></prepared>
+ <docno></docno>
+ <date></date>
+ <rev>A</rev>
+ <file>highlights.xml</file>
+ </header>
+ <p>This document lists some highlights of Erlang 5.7/OTP R13A
+ (unpatched), compared to the previous version Erlang 5.6/OTP R12B,
+ with focus on things not already released as R12B patches.</p>
+ <p>Note: This document was compiled at the time when R13A was released
+ and does not list any features introduced in R13 patches.</p>
+
+ <section>
+ <title>Erlang Language and Run-time System</title>
+ <section>
+ <title>Multi-core and SMP performance improvements</title>
+ <p>
+ There SMP performance is significantly improved and will
+ allow most applications to scale much better on systems with many
+ cores or processors. Listed below are some of the most important improvements:
+ </p>
+ <list type="bulleted">
+ <item>
+ <p>
+ The runtime system with SMP support now uses <em>multiple,
+ scheduler specific run queues</em>, instead of one globally shared
+ run queue.
+ </p>
+ <p>
+ The lock protecting the shared run queue was heavily
+ contended, and the shared run queue also caused Erlang
+ processes to randomly migrate between schedulers with
+ negative cache effects as a result.
+ </p>
+ <p>
+ With the current scheduler specific run queue solution, lock
+ contention due to run queue protection has been reduced, and
+ Erlang processes are only migrated when needed to balance the
+ load between the schedulers. The reduced amount of migration
+ also reduce lock contention on locks protecting the scheduler
+ specific instances of the erts internal memory allocators.
+ </p>
+ <p>
+ The scheduler specific run queues are also a necessity for a
+ lot of future planned NUMA (Non-Uniform Memory Access)
+ specific optimizations.
+ </p>
+ </item>
+ <item>
+ <p>
+ Message passing has been further optimized for parallell execution.
+ This makes parallell sending to one common receiver much more efficient.
+ </p>
+ </item>
+ <item>
+ <p>
+ Scheduler threads can now be bound to logical processors on newer
+ Linux ans Solaris systems.
+ </p>
+ </item>
+ </list>
+ </section>
+ <section>
+ <title>Unicode support</title>
+ <p>
+ Support for Unicode is implemented as described in EEP10.
+ Formatting and reading of unicode data both from terminals
+ and files is supported by the <c>io</c> and <c>io_lib</c> modules.
+ Files
+ can be opened in modes with automatic translation to and from
+ different unicode formats. The module 'unicode' contains
+ functions for conversion between external and internal
+ unicode formats and the re module has support for unicode
+ data. There is also language syntax for specifying string and
+ character data beyond the ISO-latin-1 range.
+ </p>
+ </section>
+
+ <section>
+ <title>New BIF's</title>
+ <p>
+ The BIFs <c>atom_to_binary/2</c>, <c>binary_to_atom/2</c> and
+ <c>binary_to_existing_atom/2</c> have been added.
+ </p>
+ </section>
+
+ <section>
+ <title>Independent Erlang clusters on the same host</title>
+ <p>
+ Nodes belonging to different independent clusters can now
+ co-exist on the same host with the help of a new
+ environment variable setting <c>ERL_EPMD_PORT</c>.
+ The environment variable is used by Erl_interface and J_interface
+ as well.
+ </p>
+ </section>
+ </section>
+
+ <section>
+ <title>New Applications</title>
+
+ <section>
+ <title>Reltool</title>
+
+ <p>
+ Reltool is a release management tool.
+ It analyses a given Erlang/OTP installation and determines
+ various dependencies between applications.
+ The graphical frontend depicts the dependencies and enables
+ interactive customization of a target system.
+ The backend provides a batch interface for generation of
+ customized target systems.
+ The application is still somewhat limited and should be regarded
+ as experimental in this release. The intention is that this
+ application will be a valuable tool for making both traditional
+ Erlang target systems as well as standalone components in Erlang.
+ </p>
+ </section>
+
+ <section>
+ <title>WxErlang</title>
+ <p>
+ wxErlang is an Erlang binding to the WxWidgets GUI library which
+ provides support for cross platform GUI applications.
+ wxErlang is still in beta status and the intention is that it shall
+ replace GS in a later stage. The Erlang debugger is also shipped in
+ a wxErlang version.
+ </p>
+ </section>
+
+
+ </section>
+
+ <section>
+ <title>New features in Existing Applications</title>
+
+ <section>
+ <title>Common_test</title>
+
+ <p>
+ A support client module for SSH and SFTP, <c>ct_ssh</c>, has
+ been introduced.
+ </p>
+ <p>
+ Test case groups have been introduced. With this feature
+ it's possible to execute groups (possibly nested)
+ of test cases.
+ </p>
+ <p>
+ A group definition contains a name tag, a list of
+ properties and a list of test cases (including possible
+ nested group definitions). The properties make it possible
+ to execute test cases in parallel, in sequence and in
+ shuffled order. It is also possible to repeat test cases
+ according to different criteria.
+ </p>
+ </section>
+
+
+ <section>
+ <title>Dialyzer</title>
+ <p>
+ The analysis now accepts <em>opaque type declarations</em> and
+ detects
+ violations of opaqueness of terms of such types. Starting
+ with R13, many Erlang/OTP standard libraries (array, dict,
+ digraph, ets, gb_sets, gb_trees, queue, and sets) contain
+ opaque type declarations of their main data types. Dialyzer
+ will spit out warnings in code that explicitly depends on the
+ structure of these terms.
+ </p>
+ <p>
+ Added support for handling UTF segments in bitstreams and for
+ detecting obvious type errors in these segments. Warning:
+ This code is not terribly tested though since there are very
+ few Erlang programs which use Unicode-based binaries - not
+ surprising since this is a new language feature of R13.
+ </p>
+ <p>
+ Strengthened the discrepancy identification when testing for
+ equality and matching between terms of different types. This
+ detects more bugs in code.
+ </p>
+ <p>
+ See the Dialyzer documentation and release notes for even more
+ enhancements.
+ </p>
+ </section>
+
+ <section>
+ <title>SSL</title>
+ <p>
+ The "new_ssl" implementation is significantly improved and should be
+ near product status now.
+ The new SSL is implemented in pure Erlang except for
+ the crypto routines that are implemented in the crypto driver which
+ is an interface to libcrypto from OpenSSL.
+ </p>
+ </section>
+
+ <section>
+ <title>STDLIB</title>
+
+ <p>The Erlang scanner has been augmented as to return white-space,
+ comments and exact location of tokens.
+ This means that the scanner can easily be used in tools such as editors,
+ pretty printers, syntax highlighters etc.
+ where it is important to be able recreate the original source document.
+ </p>
+ </section>
+
+ </section>
+</chapter>
+