LoginSignup
0

More than 1 year has passed since last update.

クロスビルドのすすめ

Last updated at Posted at 2022-12-19

mruby 3.1のarmv5tのセルフビルドとRyzenでのクロスビルドのスピードを比較してみました。

armv5tの方はKirkwoodでクロックは1.2Gです。OSはNetBSD 9.0です。

RyzenはFreeBSD/amd64 13.1RのBastilleBSDに環境があります。Ryzen 2400Gでクロックは3.6Gです。クロス(OS)のクロス(アーキテクチャ)です。

セルフのほうを準備します。

まずここにあるruby30-baseのpkgをインストールします。

次にrakeをインストールします。

# gem30 install rake

bisonはインストールしてあったので、(必要なくなったようです)mruby 3.1をビルドします。

# /usr/pkg/lib/ruby/gems/3.0.0/gems/rake-13.0.3/exe/rake

クロスのほうはここに書いた手順でビルドします。

クロスは33秒でした。

セルフは1582秒でした。

50倍くらい違いますが、クロスのツールとかライブラリの用意も必要なのでまるまるというわけでもありません。

セルフのarmは結構早いほうで、クロックが250Mのターゲットもあり、もしこれでビルドすると200倍くらい違うかもしれません。

armはNetBSDで動かしていますが、FreeBSD/armはクソでNetBSDの20倍くらい遅いので、1000倍くらい違いになるのかもしれません。

rakeがマルチコアに対応すればもっと差は広がるでしょう。

matzのスライドにウサギとカメがでてきますが、人生無限ではないので、資源がゆするのであれば、有効に時間を使いましょう。

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
0