Help us understand the problem. What is going on with this article?

Erlang/OTP 19.0 (2016年6月リリース予定)のハイライト

More than 3 years have passed since last update.

来月(2016年6月)に正式リリースが予定されている Erlang/OTP 19.0 について、リリース候補版(rc1)の配布が始まっています。

Erlang はスケールしやすく、分散処理や耐障害性に優れたアプリケーションを作るための動的型付けの関数型言語。OTP は17年に及ぶ実運用で鍛えぬかれた、ライブラリ、ツール、mnesia 分散データベースなどの標準アプリケーションの総称です。

ソースコード

GitHub から、タグ OTP-19.0-rc1 で、ソースコードを取得してください。

kerl を使ってビルドするのが簡単でしょう。

ドキュメント

ドキュメントはこちらにあります。

主な新機能と改良点

19.0 の主な新機能と改良点は以下の通りです。(Erlang/OTP 19.0-rc1 is available for testing で紹介されている内容を参考にしました)

  • コンパイラ、stdlib:
    • 新しいプリプロセッサ・マクロ ?FUNCTION_NAME, ?FUNCTION_ARITY が追加されました。
    • 新しいプリプロセッサ・ディレクティブ -error(Term)-warning(Term) が追加されました。これらは、コンパイルエラーや警告を出すために使います。
  • gen_statem: ステートマシンのビヘイビアが追加されました。
  • mnesia_ext: mnesia に外部ストレージをプラグインするための、実験的な API が設けられました。
  • crypto: OpenSSL の EVP インターフェイスを使用するように変更されました。これにより、全体的な性能が向上し、また、ハードウェアによるアクセラレーションが可能になりました。
  • ssh: gen_statem ビヘイビアを採用し、性能が向上しました。
  • dialyzer: map 型のサポートが、型スペックと型分析の両方で大幅に拡張されました。
  • erts:
    • erlang:open_port(spawn, ...) (外部プロセスの実行)が3倍から5倍高速化されました。
    • トレーシング機能が大幅に改良されました。スケーラビリティとスピードの向上、send/receive 関連のマッチ・スペックの追加、Linux の LTTng 対応などなど。
    • dirty scheduler が改良されました。
    • メッセージキューで参照されているデータの扱いを、プロセスごとに設定できるようになりました。これらのデータをガベージコレクションの対象外にしたりできます。
    • max_heap_size プロセスフラグが追加されました。

リリースノート

詳しくはリリースノートを参照してください。

tatsuya6502
Erlang/OTPやRustで分散DBを開発してます。プログラミングは中学生の頃から、30年ほど独学でやってきてます。大学はアメリカ東海岸にある美大でした。現在は上海在住
https://blog.rust-jp.rs/tatsuya6502/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away