90 likes | 237 Views
Erlang/OTP Development at Ericsson. OTP R11B-2 released. Emulator
E N D
OTP R11B-2 released • Emulator • Kernel poll support can now be combined with SMP support. Currently the following kernel poll versions exist: /dev/poll, epoll, and kqueue. Linux kpoll has been replaced with epoll. Some time in the future there will also be a kernel poll version using Solaris event ports. • The SMP emulator now avoids locking for the following operations: atom_to_list/1, atom comparision, atom hashing, erlang:apply/3.
OTP R11B-2 released • Stdlib and Compiler • Option ’strict_record_tests’ in now made defaultthat is, reading a field from a record using theRecord#record_tag.field syntax will fail ifRecord is not a record of the correct type.Can be shut off with option ’no_strict_record_tests’ or with environment variable ERL_COMPILER_OPTIONS. • Inets • Enhancements regarding aynchronous HTTP-request • New option to support PROXY-Authorization • Bug corrections regading parsing of URI’s, chunked decoding, empty body, …
OTP R11B-2 released • Dialyzer • Dialyzer's building of PLT is now based on a different type inference algorithm. More specifically, Dialyzer uses inferrence of refined success typings to infer function prototypes. This analysis is more powerful and Dialyzer will thus be able to detect more discrepancies. E.g malformed uses of Erlang/OTP library functions. Downside is that building the PLT is a considerably slower process. Will be improved, but let us assure you that the time building the PLT is well spent. • Dialyzer takes into account the BEAM compiler directive -compile({nowarn_unused_function, {F,A}}). and suppresses the warning that function F/A will never be called. • Dialyzer's default initial PLT now also includes "mnesia". • QLC now with support for faster join of 2 tables. • Support for two kinds of join: • lookup join, that uses existing indices • merge join, that takes 2 sorted inputs • Several other enhancements
Ongoing work Documentation • Plan to release ”Docbuilder” as an application in OTP together with the OTP documentation sources in XML.Docbuilder is pure Erlang and produces HTML. • Edoc is better integrated to get the same format as all other OTP documentation.
Ongoing work SMP support • Removing the big lock around IO is ongoing, allowing for parallell execution in drivers.A new API for drivers which support parallell invokation will be introduced. Old driver API still supported. • Probable release in Q2 2007.
Multiprocessor support Erlang runtime system R11B-4? (n schedulers) runqueue Pick next runnable ornext IO-port job 1..nSchedulers Put IO-port jobs into runqueue Io thread select/poll File io threads
Ongoing work Misc • Constant pool per module e.g. f() -> {a,b,c,[10,20,…],…….very big constant term…}.The term will be built by the compiler once and for all.Today the term is built every time function f is called. • Support for Bitstr (bit sized binaries i.e not a multiple of 8 bits) and binary comprehensions in the compiler • XMERL with XMLschema validation • CommonTest (based on Erlang testserver) Expected to be released during 2007