Apple Silicon搭載のMacではIntel-Onlyのターミナルエミュレータを利用するとCLIツールはRosetta経由で起動するので注意を。

just-in-time compilers with Rosetta 2 Apple Silicon Mac
記事内に広告が含まれています。
スポンサーリンク

 Apple Silicon搭載のMacではIntel-Onlyのターミナルエミュレータを利用するとCLIツールはRosetta経由で起動するので注意が必要のようです。詳細は以下から。

Rosetta 2のアイコン

 AppleはWWDC20で、今後2年かけてMacのメインプロセッサをIntelからApple Siliconへ移行する計画を発表し、15年前にPowerPCからIntelへ移行したときと同様に、Intelバイナリに含まれるx86_64命令を自動的にApple Siliconで実行可能なarm64命令へ変更するバイナリトランスレータ「Rosetta (2)」を次期macOS 11 Big Surに導入することで、

macOS Big SurのRosetta 2

ユーザーはIntel(x86_64)バイナリのアプリはもちろんJIT(just-in-time)コンパイラを含めIntel/Apple Siliconバイナリを意識せずに既存のアプリケーションを実行できるとコメントされていましたが、

just-in-time compilers with Rosetta 2

HomebrewのメンテナーであるMisty De Meoさんらによると、Apple Silicon搭載のMacでIntel-Onlyのターミナルエミュレータを利用して起動したシェルやアプリはRosetta経由で起動するため、iTerm 2の様な非Universalのターミナルエミュレータを利用するとCLIツールは全てRosetta経由となるそうなのでApple Silicon搭載のDTKをレンタルされた方は注意して下さい。

 ただし、iTerm 2については既にUniversal化が進んでおり、AppleでApple Silicon搭載のMacとXcodeの開発を担当されているコンパイラーエンジニアのKuba Mracekさんによると、お気に入りのIntel-OnlyのターミナルエミュレータアプリでCLIツールをRosetta経由で実行したくない場合は、”arch -arm64e”オプションを付けてzshやサードパーティ製シェルを起動すれば、arm64ネイティブで利用できるようになるそうなので、DTKをお持ちの方は試してみて下さい。

arch -arm64e zsh

コメント

タイトルとURLをコピーしました