11
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ElixirAdvent Calendar 2023

Day 2

Erlangのビルドを速くしたい

Posted at

はじめに

Erlangをビルドする際に「すごい時間がかかる・・・」と思ったことはありませんか?
Erlangにはビルドを高速にするためのいくつかのオプションがあるのでそれについて紹介します。

並列化による高速化

Erlangをビルドする際の、configureとmakeの実行は、環境変数MAKEFLAGSを指定する事で並列化する事ができます。
例えば、4コア(もしくはハイパースレッドによる4並列)のマシンの場合、

MAKEFLAGS=-j4

とする事でconfigureとmakeを並列実行する事ができ、ビルドを高速化できます。

コンパイルサーバーによる高速化

標準ライブラリやOTPはErlangのプログラムで実装されているので、当然Erlangのビルドの際にはErlangのコンパイルが実行されます。ErlangのコンパイラはErlangで実装されているので、コンパイルが実行されるたびに、Erlangのシステムが起動されます。この時、コンパイルサーバーを利用する事で、コンパイル対象のファイルごとにErlangシステムを起動する事が不要になるのでErlangプログラムのコンパイルが高速化されます。

コンパイルサーバーを有効にするには環境変数ERLC_USE_SERVERをtrueにしてください。

ERLC_USE_SERVER=true

まとめ

Erlangのビルドを高速化するTIPSを紹介しました。
asdf等で複数のバージョンのErlangを扱う場合には入れておく事で、ビルドが時短されるかもしれません。

11
5
0

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
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?