From 17224a3d31d25ce6daa4de63b52b26bee9564bcd Mon Sep 17 00:00:00 2001 From: Erlang/OTP Date: Mon, 13 Sep 2010 17:58:05 +0200 Subject: Prepare release --- lib/stdlib/doc/src/notes.xml | 136 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 136 insertions(+) (limited to 'lib/stdlib/doc/src/notes.xml') diff --git a/lib/stdlib/doc/src/notes.xml b/lib/stdlib/doc/src/notes.xml index 23d1e8b7de..6c618bc798 100644 --- a/lib/stdlib/doc/src/notes.xml +++ b/lib/stdlib/doc/src/notes.xml @@ -30,6 +30,142 @@

This document describes the changes made to the STDLIB application.

+
STDLIB 1.17.1 + +
Fixed Bugs and Malfunctions + + +

reference() has been substituted for ref() in the + documentation.

+

+ Own Id: OTP-8733

+
+
+
+ + +
Improvements and New Features + + +

+ The ms_transform now warns if the fun head shadows + surrounding variables (just like the warnings you would + get for an ordinary fun in the same context).

+

+ Own Id: OTP-6759

+
+ +

+ ets:select_reverse/{1,2,3} are now documented.

+

+ Own Id: OTP-7863

+
+ +

+ Large parts of the ethread library have been + rewritten. The ethread library is an Erlang + runtime system internal, portable thread library used by + the runtime system itself.

+

+ Most notable improvement is a reader optimized rwlock + implementation which dramatically improve the performance + of read-lock/read-unlock operations on multi processor + systems by avoiding ping-ponging of the rwlock cache + lines. The reader optimized rwlock implementation is used + by miscellaneous rwlocks in the runtime system that are + known to be read-locked frequently, and can be enabled on + ETS tables by passing the {read_concurrency, + true} option upon table creation. See the + documentation of ets:new/2 for more + information. The reader optimized rwlock implementation + can be fine tuned when starting the runtime system. For + more information, see the documentation of the +rg command line argument + of erl.

+

+ There is also a new implementation of rwlocks that is not + optimized for readers. Both implementations interleaves + readers and writers during contention as opposed to, + e.g., the NPTL (Linux) pthread rwlock implementation + which use either a reader or writer preferred strategy. + The reader/writer preferred strategy is problematic since + it starves threads doing the non-preferred operation.

+

+ The new rwlock implementations in general performs better + in ERTS than common pthread implementations. However, in + some extremely heavily contended cases this is not the + case. Such heavy contention can more or less only appear + on ETS tables. This when multiple processes do very large + amounts of write locked operations simultaneously on the + same table. Such use of ETS is bad regardless of rwlock + implementation, will never scale, and is something we + strongly advise against.

+

+ The new rwlock implementations depend on atomic + operations. If no native atomic implementation is found, + a fallback solution will be used. Using the fallback + implies a performance degradation. That is, it is more + important now than before to build OTP with a native + atomic implementation.

+

+ The ethread library contains native atomic + implementations for, x86 (32 and 64 bit), powerpc (32 + bit), sparc V9 (32 and 64 bit), and tilera (32 bit). On + other hardware gcc's builtin support for atomic memory + access will be used if such exists. If no such support is + found, configure will warn about no atomic + implementation available.

+

+ The ethread library can now also use the + libatomic_ops library for atomic memory accesses. + This makes it possible for the Erlang runtime system to + utilize optimized native atomic operations on more + platforms than before. If configure warns about no + atomic implementation available, try using the + libatomic_ops library. Use the --with-libatomic_ops=PATH + configure command line argument when specifying + where the libatomic_ops installation is located. + The libatomic_ops library can be downloaded from: + http://www.hpl.hp.com/research/linux/atomic_ops/

+

+ The changed API of the ethread library has also + caused modifications in the Erlang runtime system. + Preparations for the to come "delayed deallocation" + feature has also been done since it depends on the + ethread library.

+

+ Note: When building for x86, the ethread + library will now use instructions that first appeared on + the pentium 4 processor. If you want the runtime system + to be compatible with older processors (back to 486) you + need to pass the --enable-ethread-pre-pentium4-compatibility + configure command line argument when configuring + the system.

+

+ Own Id: OTP-8544

+
+ +

+ Some Built In Functions (BIFs) from the module erlang was + never made autoimported for backward compatibility + reasons. As local functions now override autoimports, new + autoimports is no longer a problem, why the following + BIFs are finally made autoimported: monitor/2, monitor/3, + demonitor/2, demonitor/3, error/1, error/2, + integer_to_list/2, list_to_integer/2.

+

+ Own Id: OTP-8763

+
+
+
+ +
+
STDLIB 1.17
Fixed Bugs and Malfunctions -- cgit v1.2.3