← All repos

icecream

Distributed compiler with a central scheduler to share build load

Browse cluster: RISC-V Toolchain & Math Libraries
2,212commits
121contributors
6languages

Tech stack & purpose

Icecream is a distributed compiler created by SUSE that takes compile jobs from a build and distributes them among remote machines to enable parallel compilation. Unlike distcc, which uses a static assignment model, Icecream employs a central scheduler that dynamically routes compile jobs to the fastest available server, making it particularly effective for shared computing environments. The project is written in C and depends on libraries including libcap-ng, libarchive, lzo, and libzstd, with core components consisting of a compiler wrapper (icecc), a daemon (iceccd), and a scheduler daemon (icecc-scheduler). Icecream is primarily designed for Linux systems, though it also supports FreeBSD, DragonFlyBSD, and macOS, and can function as both a server and client for cross-compilation scenarios.

Languages

C++
77.7%
Shell
17.0%
M4
2.9%
C
1.5%
Makefile
0.8%
Assembly
0.0%

Contributors (top 30 of 121)