Der Raspberry Pi 3 besitzt bekanntlich eine 64-Bit CPU. Von Raspbian gibt es bisher (noch) kein Image mit 64-Bit Kernel. Ich habe zwei Images mit 32-Bit Kernel und drei Images mit 64-Bit Kernel getestet.
- Raspbian Stretch Lite 2017-11-29 (Kernel 4.9)
- Raspbian Stretch Lite 2017-11-29 (Kernel 4.14.16-v7+ armv7l)
- Raspbian Stretch Lite 2017-11-29 (Kernel 4.14.16-v8+ aarch64)
- Debian Stretch arm64 Unoffical (Kernel 4.9.0-4-arm64 aarch64)
Hinweis: Die beiden Kernel 4.14.16 habe ich in einer VM kompiliert (Stichwort Cross Compiling) und in ein vorhandenes Raspbian Stretch Lite Image intigriert.
Getestet habe ich mit sysbench und dem nachfolgenden Befehl:
sysbench --test=cpu --num-threads=4 --cpu-max-prime=20000 run
Nachfolgend die Ergebnisse:
Raspbian Stretch Lite 2017-11-29 (Kernel 4.9)
sysbench 0.4.12: multi-threaded system evaluation benchmark Running the test with following options: Number of threads: 4 Doing CPU performance benchmark Threads started! Done. Maximum prime number checked in CPU test: 20000 Test execution summary: total time: 92.5824s total number of events: 10000 total time taken by event execution: 370.2478 per-request statistics: min: 36.89ms avg: 37.02ms max: 130.52ms approx. 95 percentile: 37.08ms Threads fairness: events (avg/stddev): 2500.0000/5.52 execution time (avg/stddev): 92.5620/0.01
Raspbian Stretch Lite 2017-11-29 (Kernel 4.14.16-v7+ armv7l)
sysbench 0.4.12: multi-threaded system evaluation benchmark Running the test with following options: Number of threads: 4 Doing CPU performance benchmark Threads started! Done. Maximum prime number checked in CPU test: 20000 Test execution summary: total time: 92.7889s total number of events: 10000 total time taken by event execution: 371.1020 per-request statistics: min: 36.89ms avg: 37.11ms max: 132.37ms approx. 95 percentile: 37.30ms Threads fairness: events (avg/stddev): 2500.0000/9.82 execution time (avg/stddev): 92.7755/0.01
Raspbian Stretch Lite 2017-11-29 (Kernel 4.14.16-v8+ aarch64)
sysbench 0.4.12: multi-threaded system evaluation benchmark Running the test with following options: Number of threads: 4 Doing CPU performance benchmark Threads started! Done. Maximum prime number checked in CPU test: 20000 Test execution summary: total time: 93.8743s total number of events: 10000 total time taken by event execution: 375.4413 per-request statistics: min: 37.42ms avg: 37.54ms max: 95.34ms approx. 95 percentile: 37.58ms Threads fairness: events (avg/stddev): 2500.0000/1.73 execution time (avg/stddev): 93.8603/0.01
Debian Stretch arm64 Unoffical (Kernel 4.9.0-4-arm64 aarch64)
sysbench 0.4.12: multi-threaded system evaluation benchmark Running the test with following options: Number of threads: 4 Doing CPU performance benchmark Threads started! Done. Maximum prime number checked in CPU test: 20000 Test execution summary: total time: 15.2979s total number of events: 10000 total time taken by event execution: 61.1687 per-request statistics: min: 6.03ms avg: 6.12ms max: 21.37ms approx. 95 percentile: 6.29ms Threads fairness: events (avg/stddev): 2500.0000/46.67 execution time (avg/stddev): 15.2922/0.00
Interessant ist für uns ist hierbei die Total Time. Diese liegt bei den Raspbian Stretch Images, welche die armhf Pakete nutzen, immer über 90 Sekunden. Bei dem Image welches die arm64 Pakete nutzt beträgt die Total Time knapp über 15 Sekunden. Hierfür gibt es eine, zu mindest nach meiner Ansicht, logische Erklärung:
Der Raspberry Pi 1 A/B/B+, Raspberry Pi Zero (W) und der Raspberry Pi 2 B besitzen alle einen 32-Bit Prozessor auf Basis von ARMv6 oder ARMv7 (nur Raspberry Pi 2 B v1.1). Der Raspberry Pi 3 und der Raspberry Pi 2 B v1.2 besitzen jedoch eine 64-Bit CPU, unter Raspbian läuft diese aber nur im 32-Bit Modus und es werden die armhf Pakete verwendet. Dies wird wahrscheinlich (noch) aus Kompatibilitätsgründen gemacht und um unerfahrene Nutzer nicht zu verwirren welche Version sie von Raspbian benötigen. Wie man aber sieht ist es möglich den Raspberry Pi 3 im 64-Bit Modus zu betreiben. Ein Image speziell für den Raspberry Pi 3 bereitzustellen, welches einen 64-Bit Kernel besitzt und die arm64 Pakete nutzt, sollte eigentlich nicht so schwer sein, denn der Support seitens Debian und dem Linux Kernel ist hierfür vorhanden. Wie man sieht kann man so der 64-Bit CPU des Raspberry Pi 3 ihr volles Potenzial „entlocken“. Die Frage ist nur ob dies auch sinnvoll ist.
Wie seht ihr das? Lasst uns gerne in den Kommentaren darüber reden.
Anzeige