Indeed, they’re probably shipping a backtrace symboliser, and since there’s no system-wide equivalent of libc to link against, they’ll be including the entire Rust standard library with the binary too.
My other hunch is the Krisp noise cancellation ML model is a huge chunk of the memory footprint.
I once played around with reverse engineering a Rust program. I compiled the optimized version of the standard “hello world” program which somehow turned into 50,000 lines of assembly.
It looked like it copied over dozens of functions from libc and the data section was filled with every single possible error string “file not found”, “connection timed out”, etc. as if there was a possibility of hello world generating an access denied error.
Was your C hello world program statically linked? I believe Rust includes its libraries whereas the typical hello world does not. Static linkage generally brings in large amounts of unused code.
Rust has static linking, you get the necessary (and some unnecessary) parts of the standard library in your binary instead of the user having to install the library the way you have to have a libc installed. Makes for fatter binaries but much easier compatibility.
Perhaps it’s vibecoded slop?
I’d be willing to bet $100 that AI assistance was involved in creating this new client, yes.
Similarly I’d bet the same amount that AI assistance was involved in building the former electron-based client
Rust apps seem to always be on the heavy side, maybe depends how much debug info they leave in
Indeed, they’re probably shipping a backtrace symboliser, and since there’s no system-wide equivalent of libc to link against, they’ll be including the entire Rust standard library with the binary too.
My other hunch is the Krisp noise cancellation ML model is a huge chunk of the memory footprint.
Krisp shouldn’t be running when you ain’t on a VC tho, I neve use VCs tbh and still get crazy numbers
I once played around with reverse engineering a Rust program. I compiled the optimized version of the standard “hello world” program which somehow turned into 50,000 lines of assembly.
It looked like it copied over dozens of functions from libc and the data section was filled with every single possible error string “file not found”, “connection timed out”, etc. as if there was a possibility of hello world generating an access denied error.
Was your C
hello worldprogram statically linked? I believe Rust includes its libraries whereas the typicalhello worlddoes not. Static linkage generally brings in large amounts of unused code.Rust has static linking, you get the necessary (and some unnecessary) parts of the standard library in your binary instead of the user having to install the library the way you have to have a libc installed. Makes for fatter binaries but much easier compatibility.
Anything new coming from any non-bootstrapped company is likely slop, and even the bootstrapped deserve a second look