Erlang/OTP Development at Ericsson
-
Upload
magee-workman -
Category
Documents
-
view
11 -
download
0
description
Transcript of Erlang/OTP Development at Ericsson
Slide titleIn CAPITALS
50 pt
Slide subtitle 32 pt
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.
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, …
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
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.
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.
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
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
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