using a (kind of) source based distribution (eg. Guix or 9front) really makes you appreciate simple software and fast compilers

did you know that chromium takes frickin forever to build? i just gave up because i ain't got no patience for that.

right now i'm waiting for Krita to build but that too is taking its sweet time.... but at least I like Krita

· brutaldon · 5 · 3 · 3

@grainloom Is it any worse than, say, Firefox? I kind of doubt it.

@alcinnz If I remember right chromium's build process is sloppy and like, rebuilds the same helper stuff multiple times as it goes, for no real reason than "it'd be work on the devs for it not" (I might be remembering wrong) @grainloom

@emsenn @grainloom That's poor logic! It'd be better to "waste" their time once then to waste it repeatedly.

@alcinnz probably not, maybe better since the Rust components probably build slower than Chrome which seems to be mostly C++
but I haven't had to build Firefox from source so far
....hmmm, I think I did build Servo a few times though, and that finished in a reasonable amount of time

@alcinnz ...or @emsenn is right and it's anyone's guess which community actually bothered to optimize their build times

@grainloom I've built both for my chromebook and chromium has a lot of stuff that HAPPENS but takes longer by the clock than firefox. @alcinnz

@grainloom I heard tale once of someone who was able to compile Chromium in about an hour ... on a machine with 32 logical cores and 64 GB of RAM

@grainloom Proprietary s/w is just the limiting case, it takes literally forever to build from source… And things like Chromium are just a pretty close approximation of that…

@grainloom I know that feeling. I'm writing my first #rustlang program. It built fast until I added diesel and dotenv as dependencies. Now, every time I build my app for release, rust has to build diesel and dotenv as well, even though nothing changed to those. And diesel takes 10 minutes to build on my phone. 10 minutes! Every time! These build systems have to get smarter.

@aeveltstra @grainloom

> [my #rust program] built fast until I added… dependencies. Now, every time I build my app for release, rust has to build diesel and dotenv as well, even though nothing changed to those.

Well, it doesn't *literally* start from scratch—if you run `cargo clean` before `cargo build --release`, it would be even slower.

But, for release builds, you *want* to rebuild dependencies because available optimizations may have changed based on your code

@codesections @grainloom Sure. And I'd like a build system that recognizes when that isn't the case, so it can skip useless rebuilds and wasting my time and battery.

@aeveltstra It should already do that. Cargo has a build cache and won't rebuild things that didn't change. Are you using something like Docker that could be throwing away the cache each time?

@kornel Good question! I'm not using Docker since the build is happening on my phone. But that phone might be preventing rust from writing build cache. I'll check it out.

@kornel @aeveltstra does it have a global cache? or do you still need something like uuugh ccache? or whatever it's called

@grainloom @aeveltstra There's no global cache. Build artifacts are stored per project. Global cache and ability to download precompiled dependencies are on the roadmap, but for now there's only ./target/ dir and sccache.

@codesections @aeveltstra @grainloom So far, I haven’t ventured into the land of dependencies... might get into that soon, but so far it has proved easy to cleanly write everything that i need.

@aeveltstra @grainloom please take a moment to consider any possible harm you're doing to humanity

Sign in to participate in the conversation

Cybrespace is an instance of Mastodon, a social network based on open web protocols and free, open-source software. It is decentralized like e-mail.