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

@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.

Follow

@aeveltstra @grainloom

> [my 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.

Sign in to participate in the conversation
Fosstodon

Fosstodon is a Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.