Raspberry Pi 4 Model Bのサンプルを見たり、ベンチマークした結果を紹介していきます。なお、日本での認証(技適)が未取得であるため、以前Raspberry Pi 3 Model B+をベンチマークする際にも利用させていただいた、スイッチサイエンス様のシールドボックスをお借りしました。
Raspberry Pi 3 B+をシールドボックスでベンチマーク
おことわり: サンプルボードの検証結果は製品版と一部結果が異なる場合があります。
■外観のチェック
表面。
SoC型番はBCM2711となっています。Raspberry Pi 3B+と同じく表面は金属となりました。
電源ポートとmicroHDMIポート。
USB/LANポート。LANポートの位置が右に移動している点が今までのRaspberry Piとの違いです。真ん中はUSB3.0ポートです。
裏面
USBポートはVIA VL805チップから提供されます。また、GbEポート用のBCM54213PEチップが搭載されています。
■スペックの確認
CPUの情報
pi@four:~ $ cat /proc/cpuinfo
processor : 0
model name : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 108.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 3
(processor1〜3略)
Hardware : BCM2835
Revision : c03111
Serial : (略)
メモリーの情報。サンプルは4GB RAMモデルのため、MemTotalの数値もそのとおりになっています。
pi@four:~ $ cat /proc/meminfo
MemTotal: 4003816 kB
MemFree: 3566036 kB
MemAvailable: 3714744 kB
USBポートはPCI Express接続のVIA VL805 USB3.0コントローラーによる提供のため、lspciコマンドで確認できます。
pi@four:~ $ lspci
00:00.0 PCI bridge: Broadcom Limited Device 2711 (rev 10)
01:00.0 USB controller: VIA Technologies, Inc. VL805 USB 3.0 Host Controller (rev 01)
■ギガビットは本当?iperfでテスト
Raspberry Pi 4 Model BとNanoPi Neo 2を使用してiPerf3を実行しました。NanoPi Neo 2はギガビットの速度が出る別のシングルボードコンピュータです。
それぞれのボードとギガビットイーサネットのハブをシールドボックスに入れて、同じくハブに接続したUSB Ethernetアダプターでボックスの外の端末からアクセスして計測します。
Nano Pi Neo 2をiperf3サーバーとして実行した様子です。940Mbpsの速度が出ていることがわかりました。
pi@four:~ $ iperf3 -c 192.168.2.4
Connecting to host 192.168.2.4, port 5201
[ 5] local 192.168.2.5 port 54272 connected to 192.168.2.4 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 112 MBytes 940 Mbits/sec 0 317 KBytes
[ 5] 1.00-2.00 sec 112 MBytes 943 Mbits/sec 0 376 KBytes
[ 5] 2.00-3.00 sec 112 MBytes 938 Mbits/sec 0 376 KBytes
[ 5] 3.00-4.00 sec 112 MBytes 940 Mbits/sec 0 434 KBytes
[ 5] 4.00-5.00 sec 112 MBytes 942 Mbits/sec 0 434 KBytes
[ 5] 5.00-6.00 sec 112 MBytes 938 Mbits/sec 0 434 KBytes
[ 5] 6.00-7.00 sec 112 MBytes 939 Mbits/sec 0 434 KBytes
[ 5] 7.00-8.00 sec 112 MBytes 944 Mbits/sec 0 452 KBytes
[ 5] 8.00-9.00 sec 112 MBytes 940 Mbits/sec 0 452 KBytes
[ 5] 9.00-10.00 sec 112 MBytes 941 Mbits/sec 0 598 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 1.10 GBytes 941 Mbits/sec 0 sender
[ 5] 0.00-10.00 sec 1.09 GBytes 940 Mbits/sec receiver
iperf Done.
Raspberry Pi 4をiperf3サーバーとして実行した様子です。やや速度が遅くなりますが837Mbpsという高速な結果になりました。
pi@four:~ $ iperf3 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 192.168.2.4, port 42350
[ 5] local 192.168.2.5 port 5201 connected to 192.168.2.4 port 42352
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 96.0 MBytes 805 Mbits/sec
[ 5] 1.00-2.00 sec 100 MBytes 841 Mbits/sec
[ 5] 2.00-3.00 sec 100 MBytes 842 Mbits/sec
[ 5] 3.00-4.00 sec 100 MBytes 841 Mbits/sec
[ 5] 4.00-5.00 sec 100 MBytes 841 Mbits/sec
[ 5] 5.00-6.00 sec 100 MBytes 842 Mbits/sec
[ 5] 6.00-7.00 sec 100 MBytes 842 Mbits/sec
[ 5] 7.00-8.00 sec 100 MBytes 841 Mbits/sec
[ 5] 8.00-9.00 sec 100 MBytes 841 Mbits/sec
[ 5] 9.00-10.00 sec 99.1 MBytes 832 Mbits/sec
[ 5] 10.00-10.03 sec 3.00 MBytes 843 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate
[ 5] 0.00-10.03 sec 1001 MBytes 837 Mbits/sec receiver
■USB3.0のベンチマーク
USB3.0のベンチマークを、高速なUSB3.0メモリを使ってhdparmコマンドで取得しました。
取得時に電力が不足したためか、エラー出力が見られましたが、結果は87MB/sと高速な値を見ることができました。
pi@four:~ $ sudo hdparm -t /dev/sda
/dev/sda:
SG_IO: bad/missing sense data, sb[]: 70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Timing buffered disk reads: 262 MB in 3.01 seconds = 87.12 MB/sec
■Unixbench
最後に恒例のUnixbenchです。
========================================================================
BYTE UNIX Benchmarks (Version 5.1.3)
System: raspberrypi: GNU/Linux
OS: GNU/Linux -- 4.19.50-v7l+ -- #895 SMP Thu Jun 20 16:03:42 BST 2019
Machine: armv7l (unknown)
Language: en_US.utf8 (charmap="ANSI_X3.4-1968", collate="ANSI_X3.4-1968")
CPU 0: ARMv7 Processor rev 3 (v7l) (0.0 bogomips)
CPU 1: ARMv7 Processor rev 3 (v7l) (0.0 bogomips)
CPU 2: ARMv7 Processor rev 3 (v7l) (0.0 bogomips)
CPU 3: ARMv7 Processor rev 3 (v7l) (0.0 bogomips)
23:47:23 up 4:57, 2 users, load average: 0.00, 0.66, 2.72; runlevel Jun
------------------------------------------------------------------------
Benchmark Run: Sun Jun 23 2019 23:47:23 - 00:15:36
4 CPUs in system; running 1 parallel copy of tests
Dhrystone 2 using register variables 10010557.0 lps (10.0 s, 7 samples)
Double-Precision Whetstone 2381.7 MWIPS (9.6 s, 7 samples)
Execl Throughput 911.8 lps (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 111140.1 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 30981.9 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 301680.2 KBps (30.0 s, 2 samples)
Pipe Throughput 160911.4 lps (10.0 s, 7 samples)
Pipe-based Context Switching 48233.4 lps (10.0 s, 7 samples)
Process Creation 1856.0 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 2466.3 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 736.8 lpm (60.1 s, 2 samples)
System Call Overhead 493135.1 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 10010557.0 857.8
Double-Precision Whetstone 55.0 2381.7 433.0
Execl Throughput 43.0 911.8 212.1
File Copy 1024 bufsize 2000 maxblocks 3960.0 111140.1 280.7
File Copy 256 bufsize 500 maxblocks 1655.0 30981.9 187.2
File Copy 4096 bufsize 8000 maxblocks 5800.0 301680.2 520.1
Pipe Throughput 12440.0 160911.4 129.3
Pipe-based Context Switching 4000.0 48233.4 120.6
Process Creation 126.0 1856.0 147.3
Shell Scripts (1 concurrent) 42.4 2466.3 581.7
Shell Scripts (8 concurrent) 6.0 736.8 1227.9
System Call Overhead 15000.0 493135.1 328.8
========
System Benchmarks Index Score 320.2
------------------------------------------------------------------------
Benchmark Run: Mon Jun 24 2019 00:15:36 - 00:43:47
4 CPUs in system; running 4 parallel copies of tests
Dhrystone 2 using register variables 40088657.2 lps (10.0 s, 7 samples)
Double-Precision Whetstone 9528.0 MWIPS (9.6 s, 7 samples)
Execl Throughput 2702.4 lps (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 213778.4 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 59398.3 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 569815.6 KBps (30.0 s, 2 samples)
Pipe Throughput 607729.5 lps (10.0 s, 7 samples)
Pipe-based Context Switching 193837.7 lps (10.0 s, 7 samples)
Process Creation 4612.8 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 5911.6 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 804.6 lpm (60.2 s, 2 samples)
System Call Overhead 1875987.0 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 40088657.2 3435.2
Double-Precision Whetstone 55.0 9528.0 1732.4
Execl Throughput 43.0 2702.4 628.5
File Copy 1024 bufsize 2000 maxblocks 3960.0 213778.4 539.8
File Copy 256 bufsize 500 maxblocks 1655.0 59398.3 358.9
File Copy 4096 bufsize 8000 maxblocks 5800.0 569815.6 982.4
Pipe Throughput 12440.0 607729.5 488.5
Pipe-based Context Switching 4000.0 193837.7 484.6
Process Creation 126.0 4612.8 366.1
Shell Scripts (1 concurrent) 42.4 5911.6 1394.2
Shell Scripts (8 concurrent) 6.0 804.6 1340.9
System Call Overhead 15000.0 1875987.0 1250.7
========
System Benchmarks Index Score 851.0
以下は同じバージョンのRaspbianを使用してRaspberry Pi 3B+上で実行した結果です。
------------------------------------------------------------------------
Benchmark Run: Mon Jun 24 2019 05:08:05 - 05:36:16
4 CPUs in system; running 1 parallel copy of tests
Dhrystone 2 using register variables 5296678.9 lps (10.0 s, 7 samples)
Double-Precision Whetstone 1431.2 MWIPS (9.8 s, 7 samples)
Execl Throughput 960.5 lps (29.8 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 138696.1 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 42914.1 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 357533.0 KBps (30.0 s, 2 samples)
Pipe Throughput 298836.5 lps (10.0 s, 7 samples)
Pipe-based Context Switching 53689.7 lps (10.0 s, 7 samples)
Process Creation 2345.4 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 1913.1 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 584.4 lpm (60.1 s, 2 samples)
System Call Overhead 687496.7 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 5296678.9 453.9
Double-Precision Whetstone 55.0 1431.2 260.2
Execl Throughput 43.0 960.5 223.4
File Copy 1024 bufsize 2000 maxblocks 3960.0 138696.1 350.2
File Copy 256 bufsize 500 maxblocks 1655.0 42914.1 259.3
File Copy 4096 bufsize 8000 maxblocks 5800.0 357533.0 616.4
Pipe Throughput 12440.0 298836.5 240.2
Pipe-based Context Switching 4000.0 53689.7 134.2
Process Creation 126.0 2345.4 186.1
Shell Scripts (1 concurrent) 42.4 1913.1 451.2
Shell Scripts (8 concurrent) 6.0 584.4 974.0
System Call Overhead 15000.0 687496.7 458.3
========
System Benchmarks Index Score 331.9
------------------------------------------------------------------------
Benchmark Run: Mon Jun 24 2019 05:36:16 - 06:04:42
4 CPUs in system; running 4 parallel copies of tests
Dhrystone 2 using register variables 18740948.4 lps (10.0 s, 7 samples)
Double-Precision Whetstone 5363.6 MWIPS (10.6 s, 7 samples)
Execl Throughput 2069.3 lps (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 220388.7 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 62487.0 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 589552.1 KBps (30.0 s, 2 samples)
Pipe Throughput 1075015.8 lps (10.0 s, 7 samples)
Pipe-based Context Switching 189588.0 lps (10.0 s, 7 samples)
Process Creation 4393.8 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 4339.6 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 590.4 lpm (60.3 s, 2 samples)
System Call Overhead 2489812.0 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 18740948.4 1605.9
Double-Precision Whetstone 55.0 5363.6 975.2
Execl Throughput 43.0 2069.3 481.2
File Copy 1024 bufsize 2000 maxblocks 3960.0 220388.7 556.5
File Copy 256 bufsize 500 maxblocks 1655.0 62487.0 377.6
File Copy 4096 bufsize 8000 maxblocks 5800.0 589552.1 1016.5
Pipe Throughput 12440.0 1075015.8 864.2
Pipe-based Context Switching 4000.0 189588.0 474.0
Process Creation 126.0 4393.8 348.7
Shell Scripts (1 concurrent) 42.4 4339.6 1023.5
Shell Scripts (8 concurrent) 6.0 590.4 983.9
System Call Overhead 15000.0 2489812.0 1659.9
========
System Benchmarks Index Score 762.2
1 parallel copy of testsでは若干Raspberry Pi 4Bが低い値となりましたが、4 parallel copy of testsの結果はRaspberry Pi 4BがRaspberry Pi 3B+よりも約100ほどスコアが高くなっていました。