6 ms·
What the hell is taking up all that RAM? Slack is using over 800MB of RAM on my computer right now, and it's completely idle. I've got a C# process on my comput
by lwansbrough 9y ago
What the hell is taking up all that RAM? Slack is using over 800MB of RAM on my computer right now, and it's completely idle. I've got a C# process on my computer right now handling thousands of messages per second and consuming 1/20th the RAM. If you rebuild Slack in Xamarin you'd probably drop your RAM consumption to under 50MB, just a guess. JS fiends are gonna tell me C# ain't JS, and I agree. TypeScript ain't JS either, and it's a hell of a lot closer to C# than it is JS.
I'm a big JS guy, believe me, but I wouldn't call a chat app using "only" 800MB of RAM a "win." Sorry to the guys who worked hard on this.
- duiker101 9y agoMaybe I'm missing something but doesn't TS compile to JS?
- fragmede 9y agoIt doesn't help that the Slack app is running in dev and not production mode - https://news.ycombinator.com/item?id=14899482 https://news.ycombinator.com/item?id=14899482
- tedmiston 9y agoSlack's response in the tweets indicates that they are not using the dev build but that the info is being reported incorrectly in the browser.
- berdon 9y agoTypeScript transpiles into some target JS version (ES5, ES6, ES2016, ES.Next). It is a different language but it gets executed as JS.
- allendoerfer 9y agoI think, that he was trying to say, Typescript feels like C#, so why not use the more performant option, if you use something similar but slower anyway.
- rosser 9y agoHow many platforms does C# run on, with runtimes available under which licenses, again? EDIT: Not defending Slack's choice of JS, or the consequences of that choice on its memory footprint, CPU utilization, or excess consumption of my battery in any way, but it's not purely a matter of "which one is the most efficient/performant/whatever?".
- mastax 9y ago.NET Framework | Proprietary | Windows 98 or later .NET Micro Framework | Apache 2.0 | Win+Bare Metal .NET Core | MIT License | Win+macOS+Linux(x64+armhf) Xamarin | Proprietary | Android, iOS, and Windows mono | MIT License | Linux Mac OS X, iOS, tvOS, watchOS Sun Solaris BSD - OpenBSD, FreeBSD, NetBSD Microsoft Windows Nintendo Wii Sony PlayStation 3 Sony PlayStation 4 Of course "having a runtime" is not the same thing as "having a good way to write cross-platform applications".
- rosser 9y agoThank you. Are those runtimes all bytecode compatible? Or is that another layer of developer cognitive burden that the more efficient/performant/whatever choice entails, atop the whole "having a good way to write cross-platform applications" tangle?
- k__ 9y ago
- cdolan 9y agoJust pulled up Activity Monitor - Slack + helpers are using over 1 GB while at rest.
- Yhippa 9y agoNot sure if it's because of the amount of groups I've added but I'm using ~1.8 GB compressed on my MBP.
- petemill 9y agoand that's exactly what the new version is perhaps going to solve as per the article with regard to inactive groups being unloaded to a minimal version which deals with only notifications.
- satysin 9y agoSlack is using 282 MB on my system currently [0]. I am only connected to two servers though. I don't consider 282 MB to be awful although it is a lot more than Discord which is only using 100 MB while connected to six servers. [0]https://i.imgur.com/KiPpaAZ.png https://i.imgur.com/KiPpaAZ.png
- petemill 9y agoEven if it was done in Xamarin, you'd still need some kind of web client / browser to fetch and render the actual slack workspaces
- ivm 9y agoWhy use web at all? IRC clients have been made with native UIs since the 90s.
- chrisco255 9y agoHarder to work with than CSS. Harder to align look of web and desktop.
- ivm 9y ago> Harder to work with than CSS. Harder for a web developer for the first two weeks. UI builders are more suitable for making app layouts than CSS. > Harder to align look of web and desktop. Thousands of mobile apps do it without much trouble.
- chrisco255 9y agoMany mobile apps do rely on web views. Think about it, it's already difficult to make Android and iOS apps look similar. You need devs for both platforms. Teams are already squeezed supporting web (4 browsers with their own quirks), mobile web (screen size matters), mobile native (android and iOS) without also having to spread their talent thinner across completely native desktop experiences in Mac, Windows, and Linux. It's too bad Java never did live up to that write once, run anywhere promise...but that's the world we live in.
- ivm 9y agoBut we are talking about Slack and they can get this talent. New Skype for macOS is also made with Electron despite Microsoft having a ton of resources and even the old native Skype client for Mac (v7.x and earlier). Meanwhile, Doist is a smaller company but they made Twist[0] clients native because they care about their customers. [0]: https://twistapp.com https://twistapp.com
- bernadus_edwin 9y agoWhy slack desktop use electron? Slack mobile app using xamarin. Why they not porting from mobile app to desktop? U must learn electron, and also not running on native
- chrisco255 9y agoBecause QA, design, and dev effort. You have to make a web app anyways, so it makes sense to align desktop and web.
- nkkollaw 9y agoI understand that 800MB for a chat client is a lot, but don't devs have lots of RAM to spare? I run about 20 apps at any given time + background process which I haven't counted, and I never run out of RAM (8GB). It's a problem, but is it an actual problem..?