Rpi4 Performance

Vergleich der Leistung eines Raspi 4 (aarch64) mit einem Amd64 Desktop

Vorne weg: Ich mag den Pi4! Er kann mittlerweile recht gut einen kleinen Computer ersetzen. Hier habe ich das Modell mit 4GB RAM. Deshalb hab ich auf der SD Karte Debian Buster aarch64 installiert mit dem aarch64 Kernel von Raspbian. Da ich gerne “vanilla” Debian nutzen möchte, suche ich nach einem Weg auch einfach den aarch64 Kernel auf einem aktuellen Stand zu halten. Deshalb dachte ich, ich bau ihn einfach aus den Quellen.

Dazu hab ich mir die aktuelle Kernel Version (886bda7dfd4279fa9eef4345434ca83a347908bc) von github runtergeladen und mit

zcat /proc/config.gz > .config
make oldconfig
time make -j4 Image.gz modules dtbs

compiliert.

Das gleiche hab ich auf meinem etwas betagten Amd 8350 (gekauft 2012) gemacht (nur Crosscompile für aarch64)

scp -r georg@rpi4:/home/georg/linux-rpi .
cd linux-rpi
make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 oldconfig
time make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j8 Image.gz modules dtbs

Da der Pi4 bei hoher CPU Leistung gerne die 80°C erreicht und runtertaktet, sitzt er in einem zwangsbelüftetem Gehäuse. Dadurch blieb der RPi4 bei 40°C.

Ergebnis:

RPi4

real 94m27,794s
user 322m23,831s
sys  45m7,441

Amd 8350

real    9m54,934s
user    66m26,749s
sys     6m13,724s

“Amd 8350 : RPi4 = 9min 54s: 94min 27s”

Sprich: Der RPi4 ist ca. Faktor 10 Langsamer als der Amd 8350.

Iotop zeigte, dass es sich nicht um ein IO limitiertes Setup handelt. Die CPU Kerne waren immer bei 100%.

Ok, es ist kein fairer Vergleich: Der Amd 8350 hat 8 Kerne und 4 GHz. Es ging nur um die praktische Möglichkeit den Kernel auf dem RPi4 selbst zu übersetzen. Was das nach sich zieht.

Ich denke, dass man sehr viel Zeit sparen kann, wenn man nicht die defconfig übersetzt sondern an seine Bedürfnisse anpasst. Bsp. Das ganze multimedia Zeug brauch ich praktisch nicht, da ich keine TV Grabber oder Ähnliches am RPi nutze. Ebenso kann man viele WLAN und Ethernet Karten deaktivieren.