1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Rosetta for Linuxのパフォーマンスを調べてみた

Last updated at Posted at 2023-11-06

はじめに

最新のMacBook Air(M2, 2022モデル)において、仮想環境がどの程度のパフォーマンスを発揮するのかを測定することにしました。この検証では、Limaを使用して様々な仮想環境を構築し、Rosetta 2を含む異なる仮想環境を用意し、性能をGeekbench6で測定して比較します。

環境の準備

$ brew install lima
$ softwareupdate --install-rosetta
# 各種仮想環境の用意
$ limactl start --name=qemu-aarch64 --vm-type=qemu --arch=aarch64 --cpus=8
$ limactl start --name=qemu-x86_64 --vm-type=qemu --arch=x86_64 --cpus=8
$ limactl start --name=vz-aarch64 --vm-type=vz --arch=aarch64 --cpus=8
$ limactl start --name=vz-rosetta --vm-type=vz --arch=aarch64 --rosetta --cpus=8

本来はRosetta環境だけでx86バイナリが動作するのですが、x86向けの共有ライブラリが不足しておりGeekbench6を起動することができませんでした。そのため、ここではコンテナとしてApptainer(Singularity)とnerdctl(Docker)を使用して検証します。

結果

b86d08d8-00bc-4738-a0c5-925b03cbf328.png

CPU Arch Guest VM Container Rosetta2 Single Multi
M2 ARM Mac - - - 2589 9923
M2 ARM Linux VZ - - 2485 8606
M2 ARM Linux QEMU - - 2506 8561
M2 x86_64 Mac - - YES 1205 4408
M2 x86_64 Linux VZ Apptainer YES 1092 4416
M2 x86_64 Linux VZ nerdctl YES 1094 4112
M2 x86_64 Linux QEMU - - 63 187

ARMアーキテクチャのネイティブ環境が最も高いスコアを示し、その後にARMのLinux環境が続きます。Rosetta 2を使用した環境では、パフォーマンスが低下していますが、それでも十分な性能を発揮しています。QEMUを用いたx86の実行は40倍ほど遅く、アプリケーションの実行に支障がありそうです。

感想

Rosetta for Linuxを使った環境は、NativeのRosettaと比べて遜色がありません。環境は異なるアーキテクチャ上であっても十分なパフォーマンスを発揮しており、デバッグには十分でしょう。また、Limaを利用することで、仮想環境のセットアップが簡単に行えました。他のMacやベンチマークで測定した結果があればコメントをお願いします。

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?