Erlang/OTP Development at Ericsson

9
Erlang/OTP Development at Ericsson

description

Erlang/OTP Development at Ericsson. OTP R11B-2 released. Emulator - PowerPoint PPT Presentation

Transcript of Erlang/OTP Development at Ericsson

Page 1: Erlang/OTP Development at Ericsson

Slide titleIn CAPITALS

50 pt

Slide subtitle 32 pt

Erlang/OTP Development at Ericsson

Page 2: Erlang/OTP Development at Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

EUC 05 presentation 2005-11-022

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.

Page 3: Erlang/OTP Development at Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

EUC 05 presentation 2005-11-023

OTP R11B-2 released

Stdlib and Compiler – Option ’strict_record_tests’ in now made default

that 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, …

Page 4: Erlang/OTP Development at Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

EUC 05 presentation 2005-11-024

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

Page 5: Erlang/OTP Development at Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

EUC 05 presentation 2005-11-025

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.

Page 6: Erlang/OTP Development at Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

EUC 05 presentation 2005-11-026

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.

Page 7: Erlang/OTP Development at Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

EUC 05 presentation 2005-11-027

Multiprocessor support

select/poll

runqueue

File io threads

1..nSchedulers

Io thread

Pick next runnable ornext IO-port job

Erlang runtime system R11B-4? (n schedulers)

Put IO-port jobs into runqueue

Page 8: Erlang/OTP Development at Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

EUC 05 presentation 2005-11-028

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

Page 9: Erlang/OTP Development at Ericsson

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

EUC 05 presentation 2005-11-029