Kompilierungs-Benchmarks:
Vergleich der Echtzeit (Real Time) auf verschiedenen Architekturen mit und ohne Echse-Net Distcc.
SeaMonkey 2.53.23
| Gerät | CPU | OS | Architektur | RAM | Methode | Zeit (Real) |
|---|---|---|---|---|---|---|
| EeePC 901 | Intel(R) Atom(TM) CPU N270 @ 1.60GHz | Gentoo | x86 (i686) | 2GB | Ohne Distcc (-j2) | 21h 59min |
| EeePC 901 | Intel(R) Atom(TM) CPU N270 @ 1.60GHz | Gentoo | x86 (i686) | 2GB | Mit Distcc (-j10) | 3h 47min |
| ASUS G551 | Intel(R) Core(TM) i7-4720HQ CPU @ 2.60GHz | Gentoo | x86_64 | 16GB | Ohne Distcc (-j10) | 1h 13min |
| ASUS G551 | Intel(R) Core(TM) i7-4720HQ CPU @ 2.60GHz | Gentoo | x86_64 | 16GB | Mit Distcc (-j10) | 0h 19min |
LibreOffice 25.2.7.2
| Gerät | CPU | OS | Architektur | RAM | Methode | Zeit (Real) |
|---|---|---|---|---|---|---|
| EeePC 901 | Intel(R) Atom(TM) CPU N270 @ 1.60GHz | Gentoo | x86 (i686) | 2GB | Ohne Distcc (-j2) | 59h 34min |
| EeePC 901 | Intel(R) Atom(TM) CPU N270 @ 1.60GHz | Gentoo | x86 (i686) | 2GB | Mit Distcc (-j10) | 10h 20min |
| ASUS G551 | Intel(R) Core(TM) i7-4720HQ CPU @ 2.60GHz | Gentoo | x86_64 | 16GB | Ohne Distcc (-j10) | 4h 19min |
| ASUS G551 | Intel(R) Core(TM) i7-4720HQ CPU @ 2.60GHz | Gentoo | x86_64 | 16GB | Mit Distcc (-j10) | 0h 57min |
| Raspberry Pi 3B | BCM2837 ARM Cortex-A53 @1.20GHz | Raspbian | arm | 1GB | Mit Distcc (-j4) | 5h 15min |
| Raspberry Pi 3B | BCM2837 ARM Cortex-A53 @1.20GHz | Gentoo | arm | 1GB | Mit Distcc (-j8) | 9h 1min |
| Raspberry Pi 3B | BCM2837 ARM Cortex-A53 @1.20GHz | Raspbian | aarch64 | 1GB | Mit Distcc (-j4) | 5h 32min |
Info: Die Real-Zeit ist die tatsächliche Wartezeit. Besonders bei der i686-Architektur ist der Zeitgewinn enorm.
Info: Kompilationszeitvergleich: Gentoo vs. Raspbian (Raspberry Pi) Obwohl in beiden Umgebungen der Kompilationsprozess durch ein verteiltes
distcc-Cluster unterstützt wurde, gab es drastische Unterschiede in der Ausführungszeit. Diese sind die direkte Folge der in der Vorkompilationsphase (configure) übergebenen Flags und der jeweiligen Projektziele: Gentoo (Voller Funktionsumfang / Maximale Optimierung): Das Ziel war der Workspace einer vollständigen, produktionsbereiten LibreOffice-Suite. Das Paket wurde mit allen verfügbaren Funktionen, Bibliotheken und Erweiterungen konfiguriert. Es wurden die in der Gentoo-Dokumentation für den jeweiligen Prozessor empfohlenen spezifischen Architektur-Optimierungen (-march=) angewendet. Dies führte zu einem enormen RAM-Bedarf, der das System zu einer intensiven Nutzung des Auslagerungsspeichers (SWAP) zwang. Langsame I/O-Zugriffe verursachten ein Speicher-Thrashing, was die Systemzeit (sys) drastisch in die Höhe trieb. Raspbian (Minimale Version / Demonstrationszweck): Dieser Prozess diente lediglich als Technologiedemonstration der Cluster-Kompilation. In der Phase./configurewurde der Quellcode auf ein absolutes Minimum reduziert, indem jede nicht essenzielle Funktion deaktiviert wurde (z. B. zusätzliche Sprachen, Benutzeroberflächen und optionale Module). Infolgedessen sank die Gesamtmenge des vondistcczu verarbeitenden Codes und der Abhängigkeiten auf ein Minimum, wodurch die RAM- und SWAP-Engpässe vollständig vermieden wurden.
Autogen-Konfigurationsoptionen für Raspberry Pi 3 (arm) mit distcc
./autogen.sh --host=arm-linux-gnueabihf --build=arm-linux-gnueabihf \
--disable-gui --without-java --disable-pch --with-system-libs \
--without-system-orcus --without-system-zxing --without-system-coinmp \
--without-system-lpsolve --without-system-abseil --without-system-poppler \
CC="distcc arm-linux-gnueabihf-gcc" CXX="distcc arm-linux-gnueabihf-g++" \
CFLAGS="-mfloat-abi=hard -mfpu=vfpv3-d16" CXXFLAGS="-mfloat-abi=hard -mfpu=vfpv3-d16"
Autogen-Konfigurationsoptionen für Raspberry Pi 3 (aarch64) mit distcc
./autogen.sh --host=aarch64-linux-gnu --build=aarch64-linux-gnu \
--disable-gui --without-java --disable-pch --with-system-libs \
--without-system-orcus --without-system-zxing --without-system-coinmp \
--without-system-lpsolve --without-system-abseil --without-system-poppler \
CC="distcc aarch64-linux-gnu-gcc" CXX="distcc aarch64-linux-gnu-g++"
Info: Verteiltes Kompilieren (distcc) verkürzt die Bauzeit drastisch von mehreren Tagen auf nur wenige Stunden, indem rechenintensive Aufgaben auf leistungsstarke externe Server ausgelagert werden. Diese Lösung schützt den ARM-Prozessor vor Überhitzung und verhindert den RAM-Mangel auf dem Zielgerät.
Verteilte distcc-Kompilierung in der Praxis
Info: Das folgende Video zeigt den Projekterstellungsprozess unter Verwendung des Echse-Net Distcc-Clusters. Anstatt nur die lokale CPU zu belasten, werden die Kompilierungsaufgaben einzelner Quelldateien (
.cpp) sicher verteilt und parallel vondistccd-Daemons auf den gekoppelten Netzwerkknoten desEchse-Net-Clusters verarbeitet, was die gesamte Build-Zeit drastisch verkürzt.
Konsolenausgabe:

⚠️ Old Device, New Technology!
We are sorry, but your device (e.g., an older iPad or browser) does not support the latest standards required to load this scenario.
Please use a newer device or update your browser.


