世界を動かす技術を、日本語で。

EコアがAppleシリコンを高速にする理由

概要

Apple silicon Macの 高いパフォーマンス は、実は Efficiencyコア(Eコア) の貢献が大きい。 Eコアは バックグラウンド処理 を担当し、ユーザーアプリの快適動作に寄与。 Quality of Service(QoS) により、スレッドがPコアとEコアに適切に割り当てられる仕組み。 macOSは バックグラウンドプロセス をPコアに移さず、システム全体の効率とバッテリー寿命を維持。 Eコア数の増加により、 多くのプロセス を効率的に処理可能となった。

Apple silicon Macのパフォーマンスの秘密

  • Apple silicon Macは M1登場以来、圧倒的な速度 を実現
  • ユーザーは 画像・音声・動画編集やソフトウェア開発 でその恩恵を体感
  • 一般的に Performanceコア(Pコア) が注目されがちだが、実際は Efficiencyコア(Eコア) が裏で活躍
  • Eコアは バックグラウンドタスク (Spotlightのインデックス作成、Time Machine、XProtect Remediatorなど)を担当
  • Pコアは ユーザーアプリ用にリソースを確保 し、バックグラウンドの影響を受けにくい設計
  • Intel Macと異なり、 複数のmdworkerプロセスが高CPU率 でもアプリのパフォーマンス低下が少ない
  • 視覚的なCPU使用率の比較は 誤解を招きやすい心理的要因 (EコアはPコアの1/4程度の周波数で動作)

QoSとスレッド管理の進化

  • Appleは iPhone 7(2016年) からPコア・Eコア分離を導入
  • Armの big.LITTLEアーキテクチャ を採用し、さらに独自最適化
  • Quality of Service(QoS) により、スレッドを 優先度と役割で明確に分離
  • macOSでは OS X Yosemite(10.10) からQoSを導入し、現在は中心的役割
  • QoSは、 従来のnice優先度 よりも効率的にリソース配分を実現
  • フォアグラウンドスレッド はPコア優先、必要に応じてEコアにも割り当て
  • バックグラウンドスレッド は原則Eコア専用、Pコアには割り当てられない
    • App Tamerやtaskpolicyコマンドでの昇格も不可
  • この仕組みにより、 アプリの快適さとバッテリー寿命 を両立

ソフトウェアアーキテクチャの変化

  • 旧来の モノリシックアプリ から、 タスクごとに分割されたプロセス へ移行
  • 2,000以上のスレッド、600以上のプロセス がアイドル状態でも動作
  • Eコアで多くのプロセスを処理することで、 メインアプリのパフォーマンス向上
  • M1 Pro/Maxまでは Eコア2基 だったが、以降のMシリーズは 最低4基、多いモデルで6〜8基
  • Efficiencyコアの増加 がバックグラウンド処理能力を大幅に向上

コアごとの動作周波数とQoS

  • M4 Pro例: Pコアの高QoSスレッドは最大4,512MHz で動作
  • Eコアの低QoSスレッドは約1,050MHz (アイドルに近い)
  • Eコアで高QoSスレッドを処理時は最大2,592MHz 程度
  • EコアとPコアの周波数比は約1/4 (1,050/4,512≒0.233)
  • 他のMシリーズチップでも 同様の傾向

まとめ

  • Apple silicon Macの快適さ は、 EコアとQoS制御 によるバックグラウンド処理最適化の成果
  • 多コア化・効率的なリソース配分 が、ユーザー体験と省電力を両立
  • 従来のIntel Macの常識 が通用しない 新時代のアーキテクチャ

Hackerたちの意見

このプロセッサーは全体的に良いよ。Pコアもすごいし。去年の10月にM4のノートパソコンと高性能なWindowsデスクトップを比較するパフォーマンステストをやったんだけど、結果はMシリーズのチップが一番良かったよ。

これはおそらくWindowsのファイルシステムのベンチマークに近いね。Windowsはファイルアクセスの速さに制限があるから、ファイルシステムフィルタードライバーのせいで。もしLinux(またはWSL2、WSLファイルシステムイメージ内にいる限り)で再度試したら、かなり改善されると思うよ。

こちらはIntelの新しいPanther Lakeチップとの最近の比較だよ。

君の記事からすると、コンパイル時間のベンチマークをしてるみたいだね。私はこの分野の専門家じゃないけど、ARMのコンパイル時間とIntelを比べる意味があるとは思えないな。コンパイルには多分、いろんなトリックがあって、命令セットも違うしね。

私のM4ミニは、家の中でおそらく一番パフォーマンスが良いコンピュータだよ。しかも一番安かった。たまにゲームマシンとしても悪くないし。

ちょっと真面目な質問なんだけど、Appleシリコンが速いって話をする時、WindowsのIntelノートパソコンと比べてるの?それともMacのIntelアーキテクチャと?LinuxのIntelノートパソコンを使ってる時は、CrowdStrikeやたくさんの企業用ソフトがあっても遅くならないんだ。ブログで「速い」って言ってるのは、動画編集やAIのような重い作業のことだと思ってたんだけど、日常的な作業でも新しいMacと新しいLinuxノートパソコンの間に速度の違いがあるのかな?ありがとう。

僕にとっては、ブート速度みたいなことが重要だね。コンピュータを再起動するのにどれくらい時間がかかるか。ログアウトして、アプリを全部開いた状態で再ログインするのに。IntelのMacはこういう基本的な機能で約2倍遅い感じがしたよ。(実際のデータは持ってないけど)Intel Macはアプリを開くときにラグがあったけど、シリコンMacはすぐに反応するし、いつもレスポンスが良い。Linuxとの比較はわからないけど。

Appleシリコンはサイズあたりのワット数で非常に速いよ。驚くべきことは、ファンがなくて軽いMacBook Airが、最上級のデスクトップPCと競争できる感じがすることだね。

まず、AppleのCPUは一番速いわけじゃないよ。今のところ、速いCPUのトップ20はAMDとIntelだけの話かも。AppleのCPUはデザインや製造の選択肢のおかげで、効率的でパワフルだけどね。でも、君の質問に答えると、そうだね、Windows 11は現代のセキュリティのせいで、同じハードウェアでバニラLinuxより2〜3倍遅く感じるよ。

私はほぼ全てのプラットフォームとアーキテクチャを「日常使い」してるよ - x64、Apple Silicon、ARM Cortex、Linux/Mac/Windowsのいろんな組み合わせでね。Apple Siliconが出たときは、本当に新鮮な風が吹いた感じだった!ウェブがまたサクサクになったし、バッテリーも持ちが良かった!でも、ソフトウェアが膨張してMacBookがまた遅くなっちゃったし、RAMがパフォーマンスの大きな制約になることも多い。バッテリー寿命も今はもっと変動するしね。Intelは2020年以来、やっとAppleに追いついてきた。Panther Lakeは、シングルコア性能(バッテリー寿命も含めて)以外はかなり競争力があるよ。Panther LakeのCPUは、機能も良いし、Intel QSVはffmpegを使ってエンコードするのに便利だし、OpenVINOでローカルAIモデルを使うのもAppleのNPUを使うより簡単だよ。Intelはパフォーマンス分析のためのサンプリングやトレースツールも優れてるし、iGPUがどれだけ動いてるか(結構性能いいよ)やVRAMの使用量も見えるからね。最後に見たとき、AppleのCPU、GPU、NPUのどれでAIモデルが動いてるかを確認する方法はまだなかったよ。iGPUはシステムRAMをいろいろ設定できるけど、Appleの統一メモリとどう比較するかは分からないし、Appleはメモリ帯域幅が高くてレイテンシが低いからね。IntelがAppleに追いついたとは言わないけど、最新世代では競争力があるよ。

新しいMacのARMユーザーだよ。いいWindowsマシン(Ryzen 5?32GB)を置き換えたんだけど、古いIntelのMacとLinuxのワークステーション(6コアのRyzen 5、32GB)も持ってる。もちろん、Macは新しいんだけど、すごいよ。CPUが関係ないようなこと、例えば会社のVPNを通してリモートのSambaマウントを使うときでも、めちゃくちゃ速い! - IntelのMacよりも速いし - Windowsよりも速い - Linuxマシンに対しては改善点はあまり感じてないけど、今の仕事ではデスクトップとしてあまり使えなくなっちゃった(残念ながら)。もちろん、Debianのセットアップは好きだけど、ワークステーションの起動は遅いし、エンターテイメントボックスのスクリーンセーバー/スリープ/ウェイクアップは悪夢だよ(自分のせいだけど、よくあること!)。Macはスリープ/ウェイクアップも問題なし。Mac(最小のAir)は、モビリティの観点から見ても今までで一番いいノートパソコンだよ。すぐに起動するし、バッテリーも長持ちするし、キーボードもそこそこ良い(でも、もう少し長いキーの押し込みがあったらいいな)。

アップルが大好きで、主に個人用に使ってるけど、アップルユーザーは自分のマシンの速さを過大評価することが多いよね。数年前には「NVIDIAがアップルの統一シリコンアプローチに追いつくことはできるのか?」みたいな意見をよく見かけたけど、NVIDIAとアップルを比較すると、コストパフォーマンスではNVIDIAが圧倒的に勝ってるよ。

Hacker Newsで議論の続きを見る