Ask HN: Compiler speed-up or Build Caching tool. Hard to find?

16 points by fatbrowndog ↗ HN
There's incredibuild, stashed.io, ccache, dcache , scache, FastBuild, BuildCache.

There's one more that was highlighted by HN. Its used by game companies. I can't seem to find the link. It was mentioned here on HN. Anyone have any ideas?

22 comments

[ 2.2 ms ] story [ 58.6 ms ] thread
Unity builds ?

They are not a tool per se, but just a way to compile your project.

Unity here not being the name of the game engine but rather the idea of including all the sources into one file.
Also known as jumbo and single/combined source file builds.
Probably not what you’re thinking of, but Bazel? https://bazel.build
Bazel isn't anything like what they are describing. Also, bazel is an incredibly miserable tool to use.
One of Bazels core principles is mass-scale distributed caching, and lots of the design decisions such as repeatability, correctness and deterministic building exist to that effect.

For individuals it's a pain to setup, but it's not built for them, or startups. Instead for enterprises who can dedicate a fully manned team to its maintenance

ahahaha, the concept of needing a full team to manage a build system is so ludicrous
Well ccache (and C builds in general) isn't exactly a bundle of kittens
distcc is probably the one game companies are biased towards.
I'm using ccache, but apparently it does not work for linking. Any drop-in replacement I could use instead?
Sccache (from Mozilla is a drop in replacement)
For others searching (alternative) generic build caching tool supporting mono-repos:

Nx - https://nx.dev/.

In my experience NX is hot garbage.
I haven't used it, but I was interested in it for relatively straightforward task caching in a monorepo. What are the main issues with it?
Zig as a build system deserves a shout-out here. It can compile C and C++ projects, good cross-compiler story, and it caches.
Look at https://earthly.dev/ But ideally we need more info - language, env and etc. for example both CircleCI and Gradle match your current ask but something tells me you need something else
Incredibuild is a pretty good product. Though there's nothing else out there that I know of that's similar.

Does anyone know?

> Incredibuild (at the very least) redirects file io back to the original machine and so the executable running doesn't really know what machine it's on.

I know MPI runs nicer on a networked drive but isn't necessarily transparent

Plan 9 can do most of this with some scripting...