Distcc Tests
Mapa Europy (nakładka)

Distcc Tests

Compilation Benchmarks:

Comparison of build times (Real Time) across different architectures with and without Echse-Net Distcc.

SeaMonkey 2.53.23

DeviceCPUOSArchitectureRAMMethodTime (Real)
EeePC 901Intel(R) Atom(TM) CPU N270 @ 1.60GHzGentoox86 (i686)2GBNo Distcc (-j2)21h 59min
EeePC 901Intel(R) Atom(TM) CPU N270 @ 1.60GHzGentoox86 (i686)2GBWith Distcc (-j10)3h 47min
ASUS G551Intel(R) Core(TM) i7-4720HQ CPU @ 2.60GHzGentoox86_6416GBNo Distcc (-j10)1h 13min
ASUS G551Intel(R) Core(TM) i7-4720HQ CPU @ 2.60GHzGentoox86_6416GBWith Distcc (-j10)0h 19min

LibreOffice 25.2.7.2

DeviceCPUOSArchitectureRAMMethodTime (Real)
EeePC 901Intel(R) Atom(TM) CPU N270 @ 1.60GHzGentoox86 (i686)2GBNo Distcc (-j2)59h 34min
EeePC 901Intel(R) Atom(TM) CPU N270 @ 1.60GHzGentoox86 (i686)2GBWith Distcc (-j10)10h 20min
ASUS G551Intel(R) Core(TM) i7-4720HQ CPU @ 2.60GHzGentoox86_6416GBNo Distcc (-j10)4h 19min
ASUS G551Intel(R) Core(TM) i7-4720HQ CPU @ 2.60GHzGentoox86_6416GBWith Distcc (-j10)0h 57min
Raspberry Pi 3BBCM2837 ARM Cortex-A53 @1.20GHzRaspbianarm1GBWith Distcc (-j4)5h 15min
Raspberry Pi 3BBCM2837 ARM Cortex-A53 @1.20GHzGentooarm1GBWith Distcc (-j8)8h 1min
Raspberry Pi 3BBCM2837 ARM Cortex-A53 @1.20GHzRaspbianaarch641GBWith Distcc (-j4)5h 32min

Note: Real time represents the actual duration you wait for the build to finish. For i686 architecture, the speedup is massive.

Note: Compilation Time Comparison: Gentoo vs Raspbian (Raspberry Pi) Even though both environments utilized the distcc distributed cluster to accelerate the build process, a massive discrepancy in compilation times was observed. This is a direct consequence of the flags passed during the pre-compilation (configure) stage and the underlying production goals: Gentoo (Full Functionality / Maximum Optimization): The goal was to build a complete, production-ready LibreOffice suite. The package was configured with all features, libraries, and components enabled. Specific architectural optimizations (-march=) recommended by the Gentoo documentation for the particular CPU were applied. This created a monumental demand for RAM, forcing the system into heavy SWAP utilization. Slow disk I/O led to memory thrashing, which drastically inflated the kernel/system execution time (sys). Raspbian (Minimal Version / Demonstration Purpose): This process was purely a proof-of-concept demonstration of cluster capabilities. During the ./configure phase, the codebase was stripped down to its bare bones by disabling every non-essential feature (such as extra languages, specific UIs, and optional modules). Consequently, the total volume of code and dependencies processed by distcc plummeted to an absolute minimum, completely bypassing the RAM and SWAP bottlenecks.

Autogen configuration options for Raspberry Pi 3 (arm) with 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 configuration options for Raspberry Pi 3 (aarch64) with 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++"

Note: Distributed compilation (distcc) drastically reduces build time from several days to just a few hours by offloading intensive computations to powerful external servers. This solution protects the ARM processor from thermal throttling and prevents RAM exhaustion on the target device.


Distributed distcc Compilation in Action

Note: The video below demonstrates the project build process utilizing the Echse-Net Distcc cluster. Instead of relying solely on the local CPU, compilation jobs for individual source files (.cpp) are securely distributed and processed in parallel by distccd daemons running across paired nodes in the Echse-Net cluster, drastically reducing total build execution times.

Console Output:

Caveman with a club and a dinosaur. Symbol of old technology.

⚠️ 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.