Kleinstrechner-Vergleichstest: Raspberry Pi Zero gegen Orange Pi Zero

Seite 3: CPU-Leistung, Netzwerkbandbreite und GPIO-Port

Inhaltsverzeichnis

Dazu soll auf beiden Systemen auf Sysbench zurĂĽckgegriffen werden, eine Benchmark-Applikation, die jeder Prozessrechner-Nutzer kennen sollte. Das Herunterladen erfolgt auf dem Raspberry Pi W mit apt-get. Er erleichtert uns das Leben, da er nur einen Kern mitbringt. Die AusfĂĽhrung eines Benchmarks ergibt folgendes Ergebnis:

pi@raspberrypi:~ $ sysbench --test=cpu --num-threads=1 run
sysbench 0.4.12: multi-threaded system evaluation benchmark
Running the test with following options:
Number of threads: 1
. . .
Test execution summary:
total time: 248.2473s

Zum Vergleich hier die Ergebnisse eines Raspberry Pi IV, wenn man ihn ebenfalls auf einen Kern beschränkt. Offensichtlich ist, dass die alte interne Architektur des am Zero W verwendeten Prozessors die Leistung arg einschränkt:

Test execution summary:
total time: 92.7245s

Leider war Sysbench zum Zeitpunkt, als der Artikel geschrieben wurde, für Armbian nicht als fertiges Binärpaket verfügbar. Zur Lösung des Problems bietet sich das Befolgen der von Sysbench bereitstehenden Anweisungen an. Sie lassen sich eins zu eins ausführen, statt der MySQL-Datenbank müssen Sie allerdings ihre kompatible Kollegin MariaDB laden:

root@orangepizero:~# apt -y install libmariadb-dev-compat libmariadb-dev

Nach der erfolgreichen Kompilation lässt sich nach folgendem Schema ein einkerniger Testlauf anweisen:

root@orangepizero:~/sysbench# sysbench cpu run
sysbench 1.1.0-ead2689 (using bundled LuaJIT 2.1.0-beta3)
Number of threads: 1
Prime numbers limit: 10000
. . .
CPU speed:
events per second: 39.24

Bei korrekter Parametrierung ist ein Testlauf unter Nutzung aller vier Kerne möglich:

root@orangepizero:~/sysbench# sysbench cpu --threads=4 run
sysbench 1.1.0-ead2689 (using bundled LuaJIT 2.1.0-beta3)
Number of threads: 4
Prime numbers limit: 10000
CPU speed:
events per second: 158.42

Leider sind die von SysBench 1.1.0 generierten Werte nicht direkt mit denen der Basisversion vergleichbar. Um diese zu erreichen, wurde der Benchmark auch am Raspberry Pi Zero W neu kompiliert. Das neu erstellte Kompilat lieferte folgendes Ergebnis:

root@raspberrypi:/home/pi/sysbench# sysbench cpu run
sysbench 1.1.0-ead2689 (using bundled LuaJIT 2.1.0-beta3)
Number of threads: 1
Prime numbers limit: 10000
. . .
CPU speed:
events per second: 30.76

Offensichtlich ist, dass die Einkernleistung des Raspberry Pi Zero W nur rund 75 Prozent des OrangePi erreicht. Kann eine Aufgabe gut parallelisiert werden, so ist die Performance des OrangePi noch höher. Dies ist zum Beispiel für die Ausführung von FFTs oder anderen Signalkonditionierungsalgorithmen wertvoll.

Die mit Abstand wichtigste Komponente eines Prozessrechners ist sein GPIO-Port. Der Raspberry Pi Zero W bietet an dieser Stelle nicht wirklich viel Anlass für Besprechungen. Analog zu seinen größeren Kollegen implementiert auch er die klassische 40 Pin-Schnittstelle, die jedem Maker geläufig ist.

Der GPIO-Port ist bei allen Raspberry-Pi-Modellen identisch.

Für das Anschließen von Sensoren benötigt man dabei normalerweise I2C und SPI. Der Raspberry Pi hat von Haus aus zwei SPI-Busse und einen I2C-Bus.

Am Orange Pi Zero sieht die Situation anders aus. Die Platine bietet zwei Header. Im Bereich der verfügbaren Busse ist die Orange Pi-Ausstattung ähnlich: Hier gibt es zwei I2C-Busse, aber nur einen SPI-Bus. Zudem ist die Anzahl der GPIO-Pins wegen der physikalisch geringeren Anzahl von Pins kleiner.

Auch der Orange Pi Zero kommuniziert via GPIO-Port mit der Umgebung.

Ein Sonderfall, der in der Praxis Zeit und Kosten spart, verbirgt sich in der Abbildung ganz rechts. Die vier Signale USB-DM2, USB-DP2, USB-DM3 und USB-DP3 stehen fĂĽr zwei USB-Differenzial-Signalpaare, die auf Seiten des Orange Pi Zero mehr oder weniger direkt mit dem Hauptprozessor verbunden sind.

Enthält eine Custom-Hardware Peripheriegeräte, die per USB anzusprechen sind, so kann der Orange Pi Zero die wesentlich bequemere Wahl sein. Es wird kein zusätzliches Kabel benötigt und die Signale lassen sich stattdessen über 2,54 mm-Stecker direkt in eigene Platinen überführen. Analoges findet sich übrigens auch mit den Pingruppen LINEOUT* und MIC*, die die Audio-Signale nach außen tragen.