複数の異なるMacでベンチマーク
小生、4台のMacを所持している。
- Macbook Air 11inch (Intel Core i7 2GHz, 8GB)
- Mac mini (Intel Core i5, 2.6GHz, 16GB)
- Macbook Air 13inch (Intel Core i5, 1.8GHz, 8GB)
- Mac mini (Apple M2 3.49GHz?, 24GB)
これらをベンチマーク(比較)してみた。
手法
こちらの記事「UTMでARMとx64とを比較」で用いた下記手法により比較を行った。
- Unixbench
- ネットワークスタック
- ping
- iperf3
Unixbench
最後に表示されるスコアを利用。MacでUnixbenchを行うにはパッチをあてる必要があるようだ。下記記事参照。
また、Mac(ARM)では、途中でNGとなり(理由不明)。docker上で実施。
- ubuntu(ARM)
- ubuntu(x64)(ロゼッタ)
さらに、デフォルトでは途中でNGとなり、-iオプション(繰り返し回数)を指定した。
./Run -i 5
実行結果は下記となる。
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 74316882.7 6368.2
Double-Precision Whetstone 55.0 17517.1 3184.9
Execl Throughput 43.0 1019.1 237.0
File Copy 1024 bufsize 2000 maxblocks 3960.0 792366.2 2000.9
File Copy 256 bufsize 500 maxblocks 1655.0 217229.5 1312.6
File Copy 4096 bufsize 8000 maxblocks 5800.0 2244655.5 3870.1
Pipe Throughput 12440.0 942253.8 757.4
Pipe-based Context Switching 4000.0 267796.8 669.5
Process Creation 126.0 3073.2 243.9
Shell Scripts (1 concurrent) 42.4 5164.2 1218.0
Shell Scripts (8 concurrent) 6.0 784.2 1307.0
System Call Overhead 15000.0 745399.7 496.9
========
System Benchmarks Index Score 1139.3
それぞれで3回実施したときのスコアの平均値をデータとした。
ネットワークスタック
ループバックで実施。こちらは、docker未使用。
ping
$ ping -c 100 127.0.0.1
結果例は下記となり、
--- 127.0.0.1 ping statistics ---
100 packets transmitted, 100 received, 0% packet loss, time 99375ms
rtt min/avg/max/mdev = 0.146/0.690/1.321/0.238 ms
平均値(avg)をデータとした。
iperf3
$ iperf3 -s # Server
$ iperf3 -c 127.0.0.1 -t 100 # Client
サーバー側の結果は下記となり、
[ ID] Interval Transfer Bitrate
[ 5] 0.00-100.00 sec 320 GBytes 27.5 Gbits/sec receiver
このBitrateをデータとした。
比較
結果は下記となった。
UnixBench | ping(ms) | iperf3(Gb/s) | |
---|---|---|---|
Air11(i7 2GHz, 8GB) | 1185 | 0.175 | 27.5 |
Mini(i5 2.6GHz, 16GB) | 1295 | 0.085 | 31.7 |
Air13(i5 1.8GHz, 8GB) | 1290 | 0.116 | 34.4 |
Mini(M2 3.49GHz, 24GB) docker_ARM | 12138 | N/A | N/A |
Mini(M2 3.49GHz, 24GB) docker_x64 | 3269 | N/A | N/A |
Mini(M2 3.49GHz, 24GB) | N/A | 0.141 | 140 |
M2 MacのPerformanceが際立っているようだ。pingの結果はあまり参考にならない(意味がない)かもしれない。
EOF