Skip to main content


>need to generate a signed distance field from an image
>the quickest solution I can find is a rust crate
>spin up a simple cargo project that literally just uses signed-distance-field and image, it's 10 lines of code
>cargo run
>it downloads 30 crates
>target folder is 368.8 F U C K I N G MiB
>mfw

<sarcasm>What a well-designed language!</sarcasm>

in reply to Pup Keith DX Director's Cut

on a pubnix I'm on the guy running it was like "uhh people's home directories are getting kinda big maybe just check if you have things you don't need there" and almost the entirety of mine turned out to be stuff downloaded by cargo for like one small project
in reply to Pup Keith DX Director's Cut

I don't think that's necessarily a flaw of the language but rather the dependency cascade your crate uses. Sometimes it gets out of hand and looks like nodejs, but if you pay attention to what you use, you can avoid it. Also the crate you use doesn't appear to be popular or actively developed.

(PS: I'm heavily biased in favor of Rust.)
in reply to Scout Da Woof

@Scout Da Woof it seems to do that for Every Single Project I've encountered, whether it's my own, my friend's, or even open-source software projects created by people with way more Rust experience than I have. It's definitely an issue with the tooling and third-party packages, rather than the language itself, but I don't think "just pay attention to what you use" is the solution either. I checked the entire dependency tree of image, seemingly the most widely-used image loading library for Rust, and the total size of all crates' source code is around 5MB - yet a "Hello World" project that lists it as a dependency results in a 231MB target directory. That's more than twice the size of the build directory for ImageMagick!!
in reply to Pup Keith DX Director's Cut

you're absolutely right. Sorry for my poor choice of words, English is not my first language :)
in reply to Scout Da Woof

@Scout Da Woof it's okay, I'm not offended by your wording or anything, my point was just that the massive-build-directory issue doesn't seem to be limited to niche packages with clearly bloated dependencies: 5MB of source code doesn't sound all that large for a library that implements encoders & decoders for several image formats from scratch, but it ends up requiring more disk space to build than a piece of software that's basically command-line GIMP. Something is wrong with either the compiler/build tools, or the programming practices of most crate authors, to make things balloon that large IMO.