Late last year I finally got my hands on a Raspberry Pi 4.
Didn’t have any specific plans since the Pi 3 is suitable for my projects. But, I was curious how it stacked up against the rest of the Pi family (from Wikipedia):
Model | CPU | GPU | Memory | Interfaces |
---|---|---|---|---|
RPi Zero W | 1× ARM1176JZF-S @ 1 GHz | Broadcom VideoCore IV @ 250 MHz | 512 MB | HDMI, micro-USB 2.0, Wifi b/g/n single band @ 2.4 GHz, BT 4.1 BLE |
RPi 3 B | 4x Cortex-A53 @ 1.2 GHz | Broadcom VideoCore IV @ 250 MHz | 1 GB | HDMI v1.3, USB 2.0, 100 Mbit ethernet, Wifi b/g/n single band @ 2.4 GHz, BT 4.1 BLE |
RPi 4 B | 4x Cortex-A72 @ 1.5 GHz | Broadcom VideoCore VI @ 500 MHz | 2/4/8 GB | micro-HDMI v2.0, USB 3.0 (type C), 1000 Mbit ethernet, Wifi b/g/n/ac dual band @ 2.4/5 GHz, BT 5.0 |
Setup
Usually, I do manual installation, but there’s a new installation helper, Raspberry Pi Imager:
Attach a screen/keyboard/mouse or continue with headless setup by creating two files on the SD card.
Create wpa_supplicant.conf
file in root of the boot partition:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=<Insert 2 letter ISO 3166-1 country code here>
network={
ssid="<Name of your wireless LAN>"
psk="<Password for your wireless LAN>"
}
Where the value of country
is “Alpha-2 code” from
this Wikipedia table.
Enable remote SSH by creating an empty ssh
file in the same place.
Alternatively, you can use Cmd+Shift+X
to pre-configure the OS per the official video.
Power on, check your wifi AP for the IP address, and ssh pi@IP_ADDRESS
(default password is “raspberry”).
Benchmarks
Next, install and run Phoronix Test Suite to compare against our previous results:
wget http://phoronix-test-suite.com/releases/repo/pts.debian/files/phoronix-test-suite_10.2.0_all.deb
sudo dpkg -i phoronix-test-suite_10.2.0_all.deb
phoronix-test-suite benchmark 1809111-RA-ARMLINUX005
Test | Pi Zero | Pi 3 B | Pi 4 B (8GB) | Nano | TX1 | Notes |
---|---|---|---|---|---|---|
Tinymembench (memcpy) | 291 | 1297 | 2729 | 3504 | 3862 | |
TTSIOD 3D Renderer | 15.66 | 40.83 | 45.05 | |||
7-Zip Compression | 205 | 1863 | 3631 | 3996 | 4526 | |
C-Ray | 2357 | 732 | 943 | 851 | Seconds (lower is better) | |
Primesieve | 1543 | 580 | 466 | 401 | Seconds (lower is better) | |
AOBench | 778 | 333 | 123 | 190 | 165 | Seconds (lower is better) |
FLAC Audio Encoding | 971.18 | 387.09 | 102.02 | 103.57 | 78.86 | Seconds (lower is better) |
LAME MP3 Encoding | 780 | 352.66 | 124.98 | 143.82 | 113.14 | Seconds (lower is better) |
Perl (Pod2html) | 5.3830 | 1.2945 | 0.6291 | 0.7154 | 0.6007 | Seconds (lower is better) |
PostgreSQL (Read Only) | 6640 | 10455 | 12410 | 16079 | ||
Redis (GET) | 34567 | 213067 | 568431 | 484688 | ||
PyBench | 76419 | 24349 | 5263 | 7030 | 6348 | ms (lower is better) |
Scikit-Learn | 844 | 496 | 434 | Seconds (lower is better) |
The Raspberry Pi 4 w/ 8 GB is in roughly the same performance class as the $99 Nvidia Jetson Nano. Although the comparison is a bit apples-to-oranges since the Nano only has 4 GB of memory.