OS サポートが切れた 12年前の Mac mini をずっと Linux マシンとして使用していましたが、今なら Intel N100 の方が速いのではないかと思い速度を比べてみました。N100 は AlderLake (第12世代) の E-Core のみ搭載した CPU です。
以下は Ubuntu 22.04 におけるコンパイル時間 (clang 14) を比較したものです。
PC | CPU | TDP | Clock | Core | Thread | コンパイル時間 |
---|---|---|---|---|---|---|
Mac mini Late2012 | Core i7-3615QM | 45W | 3.3GHz | IvyBridge | 4C 8T | 69.57 秒 |
Mini PC | Intel N100 | 20W | 3.2GHz | AlderLake(E) | 4C 4T | 59.67 秒 |
- ↑コンパイル時間の数値が小さい方が高速
ストレージもメモリもクロックもちょうど同じくらいの性能でしたが、N100 の方が 10秒ほど早くビルドが終わっています。N100 は Atom 系の省電力コアながら、第3世代 Core の IvyBridge よりも速いことがわかります。
搭載されているメモリとストレージは以下の通りです。
PC | CPU | RAM 容量 | メモリの種類 | メモリ速度 | STORAGE |
---|---|---|---|---|---|
Mac mini Late2012 | Core i7-3615QM | 16GB | DDR3-1600 x2 | 25.6 GB/s | SATA SSD |
Mini PC | Intel N100 | 16GB | DDR4-3200 x1 | 25.6 GB/s | SATA SSD |
なお N100 の TDP はスペックを見ると 6W ですが、テストした PC の UEFI (BIOS) では PL1=20W, PL2=無効 に設定されていたため今回の結果は 20W 時の値になっています。
さらに N100 で vfpbench の値も調べてみました。IvyBridge と比較してみます。
PC | CPU | TDP | Clock | Single Sp | Single Dp | Multi Sp | Multi Dp |
---|---|---|---|---|---|---|---|
Mac mini Late2012 | Core i7-3615QM | 45W | 3.3GHz | 51.7G | 26.1G | 193.4G | 97.0G |
Mini PC | Intel N100 | 20W | 3.2GHz | 54.2G | 27.1G | 185.0G | 92.6G |
- ↑数値の単位は FLOPS、値が大きい方が高速
すべての結果は以下の場所にあります。
掲載した表の数値はピーク値のみです。これを見るとどちらもあまり差が生じていないように見えますが、その内訳は大きく異なっています。
IvyBridge は 256bit の浮動小数点演算パイプを 2本持っており、それぞれ加算と乗算を受け持ちます。FMA には非対応ですが AVX 256bit の add と mul 命令を同時に実行できるため、この組み合わせがピーク値になります。add または mul 命令単独の場合は片方のみが使われるため効率は半減します。
N100 は FMA に対応しているため 1命令で積和演算が可能です。その代わり 256bit の AVX 命令はクロックあたりひとつしか実行できず、256bit fma がピーク値になります。128bit の AVX/SSE であれば 2命令実行できているため、浮動小数点演算の実行パイプラインは 128bit が 2本あることがわかります。この構成は AMD の Jaguar 系と似ています。
これらの結果より FMA や AVX2 があるので互換性の面でも N100 が有利ですが、fma 以外の 256bit AVX 浮動小数点演算が混在するようなケースでは IvyBridge の方がスループットが高くなる可能性があります。
大まかに両者の性能がわかったところで、他の PC ともコンパイル時間を比較してみたいと思います。
以下の表は同じ Linux 上での比較です。Ubuntu 22.04 Clang 14。SteamDeck は Distrobox を使用しています。
PC | CPU | TDP | Thread | Core | STORAGE | コンパイル時間 |
---|---|---|---|---|---|---|
Mac mini Late2012 | Core i7-3615QM | 45W | 4C 8T | IvyBridge | SATA SSD | 69.57 秒 |
Mini PC | Intel N100 | 20W | 4C 4T | AlderLake(E) | SATA SSD | 59.67 秒 |
SteamDeck LCD | Custom APU 0405 | 15W | 4C 8T | Zen2 | NVMe 4 | 52.31 秒 |
Desktop PC | Ryzen 5 2600 | 65W | 6C 12T | Zen1+ | SATA SSD | 29.78 秒 |
- ↑コンパイル時間の数値が小さい方が高速
以下の表は同じ Ubuntu 22.04 Clang 14 ですが Windows 上の WSL2 を使用しています。同じ N100 や Ryzen 5 2600 で比べるとわかるように、Native の Linux よりも若干遅めの数値になります。
CPU | TDP | THREAD | CORE | STORAGE | コンパイル時間 |
---|---|---|---|---|---|
Intel N100 | 20W | 4C 4T | AlderLake(E) | NVMe 3 | 67.26 秒 |
Core i5-9400 | 65W | 6C 6T | CoffeeLake | NVMe 3 | 55.86 秒 |
Core i7-4790K | 88W | 4C 8T | Haswell | SATA SSD | 39.77 秒 |
Core i7-6700K | 65W | 4C 8T | SKyLake | SATA SSD | 35.83 秒 |
Ryzen 5 5560U | 25W | 6C 12T | Zen3 | NVMe 3 | 35.04 秒 |
Ryzen 5 2600 | 65W | 6C 12T | Zen1+ | NVMe 3 | 32.10 秒 |
Ryzen 5 3600 | 65W | 6C 12T | Zen2 | NVMe 3 | 22.78 秒 |
Ryzen 7 4750G | 45W | 8C 16T | Zen2 | NVMe 3 | 22.36 秒 |
Ryzen Z1 Extreme | 25W | 8C 16T | Zen4 | NVMe 4 | 17.33 秒 |
Ryzen 9 3950X | 105W | 16C 32T | Zen2 | NVMe 3 | 9.17 秒 |
Core i7-13700 | 65W | 16C 24T | RaptorLake | NVMe 4 | 8.39 秒 |
- ↑コンパイル時間の数値が小さい方が高速
やはりコア数が多い CPU や新しいアーキテクチャの CPU、消費電力の高い CPU は性能が上がります。
下の表はさらに Android 上の Termux (Clang 18.1.7) での計測してみた結果です。モバイルデバイスも CPU もコア数が多いので今回のケースでは速度が出ています。ただし RAM 容量が少ないことや放熱の問題があるので、大きなプロジェクトや長時間の連続稼働にはおそらく向きません。
PC | CPU | THREAD | CORE | コンパイル時間 |
---|---|---|---|---|
iPlay 50 Mini Pro | Helio G99 | 8C 8T (2+6) | A76 / A55 | 53.68 秒 |
iPlay 50 Pro | Helio G99 | 8C 8T (2+6) | A76 / A55 | 47.45 秒 |
Huawei P30 Pro | Kirin 980 | 8C 8T (4+4) | A76 / A55 | 27.73 秒 |
Pixel 8a | Tensor G3 | 9C 9T (1+4+4) | X3 / A715 / A510 | 21.94 秒 |
Pixel 8 | Tensor G3 | 9C 9T (1+4+4) | X3 / A715 / A510 | 20.35 秒 |
- ↑コンパイル時間の数値が小さい方が高速
N100 搭載 PC は安価で入手できることもあり人気があります。Raspberry Pi 5 を一通り揃えても同じくらいの価格帯になりますので、入手のしやすさは魅力といえます。IvyBridge の Core i7-3615QM との比較でも十分 N100 の方が速いことがわかりました。
ただし思ったよりも差は少なく、他の PC と比べると性能には限界があります。もし少ない価格差で Ryzen 5 5560U にアップグレードできるならビルド時間は約半分、浮動小数点演算性能も数倍になりますので、用途によってはこちらの方がコストパフォーマンスは良いかもしれません。