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