3 ms·
How do the Mozilla folks cope with these build-time issues?
by MaxBarraclough 6y ago
How do the Mozilla folks cope with these build-time issues?
- tick_tock_tick 6y agoNot a ton of Rust in firefox yet.
- steveklabnik 6y ago2.6 million LOC according to https://4e6.github.io/firefox-lang-stats/ https://4e6.github.io/firefox-lang-stats/ (this includes vendored deps, but that still gets built, of course)
- zelly 6y agobecause, it's checks notes % curl -Lo mozilla.zip https://hg.mozilla.org/mozilla-central/archive/tip.zip % unzip mozilla.zip && cd mozilla-central-* % find . -type f \( -iname '*.cpp' -o -iname '*.cc' -o -iname '*.cxx' -o -iname '*.c' -o -iname '*.h' -o -iname '*.hpp' -o -iname '*.hxx' -o -iname '*.hh' \) | wc -l 32347 % find . -type f -name '*.rs' | wc -l 7669 % find . -type f -iname '*.js' | wc -l 70101 ...still mostly C and C++ and more JavaScript than Rust.
- orf 6y agoDoes that include any of the dependencies? [1] 1. https://hg.mozilla.org/mozilla-central/file/tip/Cargo.toml https://hg.mozilla.org/mozilla-central/file/tip/Cargo.toml
- gpm 6y agoCargo.lock is probably the more useful file for listing dependencies https://hg.mozilla.org/mozilla-central/file/tip/Cargo.lock https://hg.mozilla.org/mozilla-central/file/tip/Cargo.lock
- KwanEsq 6y ago1) Front-end engineers don't compile any Rust or C++ etc. code, instead they use artifact builds which download pre-built binary artifacts from Mozilla's continuous integration builds, and their local builds only "compile" the HTML/JS/CSS code. 2) They use sccache locally for caching binary builds artifacts. 3) In-office they use stuff like distributed compiles/a beefy compiler machine on the network rather than necessarily the one they are using
- kzrdude 6y agosscache and build servers, I believe