Live data from Hacker News

Unity builds lurked into the Firefox Build System

serge-sans-paille.github.io

11–20 of 64 posts

Re: Unity builds lurked into the Firefox Build System

#12
post #4

Compilation units are a relic of a time where computers only had a few KB of memory. At this point computers are fast enough and have enough memory to compile the whole thing in one go faster than whatever gains doing change detection and linking will have.

Hahaha tell that to my Unreal Engine build times.

A brand new AMD Epyc, 64 core machine, will take over an hour to compile. Good times.

Re: Unity builds lurked into the Firefox Build System

#14
Interesting. I've been aware of this technique for years because of the SQLite Amalgamation, but that was always sold as a way to simplify distribution and perhaps improve performance of the binary. I hadn't considered it as a build speed optimization, though that seems somewhat obvious in hindsight.

Re: Unity builds lurked into the Firefox Build System

#15
post #10
post #7

"Lurked into"? You can lurk but surely you can't lurk into something?

I assume the author is not a native speaker based on some of the odd grammar and phrasing in the post. It doesn't really detract from the work Edit: They appear to be french: http://serge.liyun.free.fr/serge/

The word "lurk" doesn't exactly exist in French. "se rôder" fits in some cases, but another translation "se cacher" (to hide) fits others. I'd write "X crept into Y" as "X s'est glissé dans Y", but that has a connatation moreso as an accidental short-term mistake. I don't know how I'd express the idea concisely in French. Also hard to tell exactly how he wanted to convey it, something between "crept", "were hidden", "were lurking" probably? As I've discovered the hard way, there is not always an analogous term for the same fundamental idea/concept between two given languages; mastering the nuances of these differences is important for proper fluency. I probably make errors like this frenquently writing/speaking French.

Re: Unity builds lurked into the Firefox Build System

#16
post #4

Compilation units are a relic of a time where computers only had a few KB of memory. At this point computers are fast enough and have enough memory to compile the whole thing in one go faster than whatever gains doing change detection and linking will have.

While everyone else is (rightfully) correcting you, I am curious what sort of codebases you’re working with?

Are you working on large compiled software? Any game, rendering engine or large application benefits from compilation units in my experience.

Some of my libraries that I work with take upwards of an hour for a fresh compile. Having sane compilation units cuts down subsequent iteration to minutes instead.

Re: Unity builds lurked into the Firefox Build System

#17
> This generally leads to faster compilation time in part because it aggregates the cost of parsing the same headers over and over.

But this also reduces the opportunity to parallelize compilation across multiple files because they have been concatenated into fewer build units, and each unit now requires more memory to deal with the non-header parts. For some build systems and repositories, this actually increases build time.

Re: Unity builds lurked into the Firefox Build System

#18
post #4

Compilation units are a relic of a time where computers only had a few KB of memory. At this point computers are fast enough and have enough memory to compile the whole thing in one go faster than whatever gains doing change detection and linking will have.

Hahaha tell that to my Unreal Engine build times. A brand new AMD Epyc, 64 core machine, will take over an hour to compile. Good times.

I’d really like to see a comparison someday between Epics weird C# based build system and something like CMake+Ninja.

I suspect there’s compilation optimizations to be made, but I don’t think it would save more than 30% here and there.

Re: Unity builds lurked into the Firefox Build System

#20
post #10
post #7

"Lurked into"? You can lurk but surely you can't lurk into something?

I assume the author is not a native speaker based on some of the odd grammar and phrasing in the post. It doesn't really detract from the work Edit: They appear to be french: http://serge.liyun.free.fr/serge/

Probably meant "crept into". https://dictionary.cambridge.org/dictionary/english/creep-in...
Post reply on HN