@ledsun blog

無味の味は佳境に入らざればすなわち知れず

ruby.wasmのビルドの並列オプションの効果

ruby.wasmのコミットのなかで、make を並列実行する -j オプションを追加するコミットがありました。

build: use -jN option for "make install" in crossruby · ruby/ruby.wasm@02e84be · GitHub

本当に並列化されているのか観察してみました。

Rubyをビルドしてるときのスクリーンショット

RubyをビルドしているときはCPUが全部動いています。 並列化が効いているようです。

OpenSSLをビルドしてるときのスクリーンショット

OpenSSLをビルドするときはCPUは大分休んでいます。 何かしら理由があって1つだけに絞っているようです。 https://github.com/ruby/ruby.wasm/blob/3122466a0f12e97ec453f70949b5c0117f92926c/lib/ruby_wasm/build/product/openssl.rb#L83 で明示的に1を指定しています。

wasmをビルドしてるときのスクリーンショット

wasmをビルドしているときもCPUが全部動いています。 並列化が効いているようです。

全部で830秒、13分でした。 コアの沢山あるCPUでビルドするともっと速くなるのでしょうか?興味深いです。