> I remember back in the day, apps like Miranda IM (and early versions of Trillian) used only digits of RAM, even when you had multiple plugins talking several protocols at the same time
I think what's happening in the second one is that because you're using the native OS toolkits a bunch of stuff is shared, whereas with these "self-contained" "native"-y apps you end up having to load up the whole world and aren't sharing things with everything else
I'd love to be proven wrong but I feel like if you use e.g. Qt you're gonna have to hold onto a bunch of stuff that you wouldn't if you were "just" using OS-native stuff (though maybe that gets shared if you're using the exact same version? Is there something that can be done in this space?)
That was my first thought. But considering it as a significant improvement from > 1 GB, I guess it is what it is.
> I remember back in the day, apps like Miranda IM (and early versions of Trillian) used only digits of RAM ...
Sadly this was true for many apps.
Turns out all those zero cost abstractions add up to a lot!
Is there actually a way to see a breakdown of memory usage for a program? If you want to see where all the memory is going?
Flame graphs are a pretty common tool for this (maybe slightly less common than using them for seeing the breakdown of the time spent when running).
Lastly, I still have to be convinced that Rust is a good choice for GUI programs, considering their messy mutable state and ownership.
Is it just me or does anyone else feel that 200 MB is a lot for a native chat app written in Rust, that's essentially a remote interface for the WhatsApp on your phone?
I remember back in the day, apps like Miranda IM (and early versions of Trillian) used only digits of RAM, even when you had multiple plugins talking several protocols at the same time, whilst having a ton of advanced features not found in WhatsApp. Yes I get that times have changed and software has become bloated etc, but 200 MB still feels a bit too much.