LoginSignup
11
10

More than 5 years have passed since last update.

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

Posted at

来月(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 プロセスフラグが追加されました。

リリースノート

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

11
10
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
10