Slashdot Mirror


Where's All My CPU and Memory Gone? The Answer: $5B Worth Slack App (medium.com)

Slack, valued at $5 billion, has received buyout pitches from several companies including Amazon and Microsoft. But the team collaborations service, which has over 5 million active users, continues to offer one of the most resource intensive apps you could find on Mac and iOS. From an article: TLDR; If you care about battery life or availability of your finite CPU and memory on your computer, then you probably won't want to use Slack desktop with more than one or two accounts. Slack resource usage increases linearly as you add more accounts, and it quickly adds up. [...] I noticed that my machine has been sluggish and its battery life has become poor. Whilst investigating this, it turns out that Slack desktop fails badly when used with multiple accounts. This is because CPU and memory usage increases linearly as you add more accounts to your Slack desktop client. As a result, I believe the growing trend to use Slack to be part of multiple communities is seriously flawed until Slack resolve this problem. The author, Matthew O'Riordan, has shared screenshots of Activity Monitor which shows that Slack application on his Mac was consuming more than 1.5GB of memory, and as much as 70 percent of the energy. The company's iOS app instills several more issues.

40 of 190 comments (clear)

  1. Norton and McAfee can use more cpu they should buy by Joe_Dragon · · Score: 5, Funny

    Norton and McAfee can use more cpu they should buy this!

  2. This is to be expected by Anonymous Coward · · Score: 5, Funny

    After all, Slack is originally based on IRC. And IRC is very resource-intensive. It would be difficult to make an IRC-based chat client that doesn't tax the system.

    1. Re:This is to be expected by Anubis+IV · · Score: 2

      There are IRC clients on his platform that perform just fine. I used to regularly use Colloquy on OS X for my IRC needs and I never observed any of the issues the author is describing. Moreover, while Slack basically boils down to a prettified version of IRC, I don't think I've ever seen it suggested that it's "based on IRC" in any way other than in concept. If it shares any internals, I've love more info. After all, I wouldn't mind being able to connect to Slack channels using a standard IRC client.

    2. Re:This is to be expected by txsable · · Score: 3, Informative

      Connect to Slack over IRC and XMPP. I tried this for I while but it was awkward in my experience.

    3. Re: This is to be expected by Brockmire · · Score: 2

      Shit, did I just get whooshed?

    4. Re: This is to be expected by haruchai · · Score: 3, Funny

      Shit, did I just get whooshed?

      Don't worry.

      The drowned don't suffer any longer.

      What is dead may never die

      --
      Pain is merely failure leaving the body
  3. IRC, done poorly. by 0100010001010011 · · Score: 4, Insightful

    A while ago I tried to be in a larger facebook group and having more than one window open would grind my machine to a halt. Every single tab wanted it own Ajaxy Chat GUI.

    Slack should have just made a pretty GUI on top of the existing IRC protocol. I remember being able to be in dozens of chat rooms on a machine less powerful than a RaspberryPi.

    1. Re:IRC, done poorly. by Anonymous Coward · · Score: 5, Insightful

      That's because "old school" code had to be small and efficient, and the programmers needed to know how to do that.

      Increasingly, programmers rely on an ever expanding set of tools to do all of the hard work, don't know or care about performance or efficiency, and write bloated messes.

      Windows is a fine example of this. Some days, it feels like it runs no faster on a modern multi-core machine with a lot of RAM than it did on an old 386.

      Modern software is frequently crap, written with the mantra that "CPU and RAM is cheap, it'll be fine".

      Having hand optimized code to fit in small memory footprints or slow CPUs, I question if the average modern programmer has the slightest idea of what it would mean to do that. And once you've had to do it, you keep it in mind forever in terms of "no, that would be a bad idea". I've lost count of the number of times I've seen people write n^2 code which calls n^2 code which calls n^2 code and end up with something which can't possibly work -- all because they don't really know what is happening under the covers.

      I've met far too many programmers who say "there's no point in optimizing". Invariably they write shitty, inefficient code which is a monument to "elegance" which they can't even maintain.

      I've worked with people who would get a feature request and be like "I can't, I'd have to rebuild the entire thing", or who spend hours trying to figure out how their code works. The old school coders who spent time in C and the like? Pretty much they can open up their code and go "I'd need to tweak here and here, and extend here".

      In 1993, my 8MB Linux machine on a 486 positively ran rings around anything else I'd seen.

      The average code seems to be built in 10+ frameworks nobody really knows anything about. Software has become bloated trash steadily over the last 25 years.

    2. Re:IRC, done poorly. by tlhIngan · · Score: 4, Insightful

      Finally the truth comes out.

      The happiest day was when I could uninstall slack. (Slack is not a corporate standard where I work, however, a project I was on, the customer insisted on using slack). Took me less than a day to figure out why Firefox was consuming 30% of the CPU (slack web pages...) so I installed the app hoping it would be less resource hungry Was I wrong... but at least it wasn't bogging Firefox down

      Turned off all the effects so I could at least get some usability out of my PC - it cut CPU usage done somewhat. I come to believe that the slack app is one of those node.js things that embed electron and turn a web app into a native app by running it under Chrome or something.

      I know it's got a lot of stuff, but when things like Discord could exist happily on my machine taking 0% most of the time, or in a browser window taking practically no CPU cycles as well, there is no reason Slack has to be so inefficient. We shouldn't need to have Core i7's or top of the line Ryzens just to use a chat app.

      Maybe we should replace all their developer PCs with what we can scrounge up at Goodwill

    3. Re:IRC, done poorly. by sexconker · · Score: 5, Funny

      But mIRC let you slap people around a bit with a large trout.

    4. Re:IRC, done poorly. by Anonymous Coward · · Score: 2, Informative

      "I come to believe that the slack app is one of those node.js things that embed electron and turn a web app into a native app by running it under Chrome or something."

      Correct. Well, if you want to be pedantic, it's a JS thing running under Electron, which is essentially "node.js and chromium" fused into one whole. I suspect there is still efficient ways of writing such applications, and I suspect the Slack team don't consider "reducing resource consumption" to be a worthwhile feature.

      And it has terrible usability. (Grey on white. Yeah, looks flash but really REALLY hard to read.)

      Thankfully, Microsoft Teams is the way we'll go - same approach of running on Electron, but hopefully Microsoft developers are more resource friendly than Slack's. Can't believe I've hit a point where I believe it's possible MS would be more resource efficient than another company, but it actually has happened.. (because $WORK already has Office 365 Esomething and Azure AD, Teams with Single Sign On is borderline trivial to deploy; and I think it's easier for non-I.T. types to understand with its notion of Teams and Channels within Teams)

    5. Re:IRC, done poorly. by 0100010001010011 · · Score: 2

      /me understands this reference.

    6. Re:IRC, done poorly. by Anonymous Coward · · Score: 2, Interesting

      Increasingly, programmers rely on an ever expanding set of tools to do all of the hard work, don't know or care about performance or efficiency, and write bloated messes.

      I've had other programmers remove optimized code because "premature optimization is the root of all evil."

      Despite the fact that had been optimized because I had run a profiler over the code and verified that it was a bottleneck.

      Nope.

      Optimization is evil. Don't do it.

      Also once had a five line loop ripped out and replaced with a 2MB library, because "we shouldn't reinvent the wheel."

    7. Re:IRC, done poorly. by Lord_Jeremy · · Score: 2

      You undoubtedly were bitten by the ages old Windows 7 bug/feature where Windows Update has to reindex some idiotic database with dependency graphs for every update. It's one of the reasons why if you make a new install of Windows 7, it'll take something approaching 24 hours to download the update to windows update, the next update to windows update, the update to the reindexer, reindex, then then 500+ updates after SP1, etc...

  4. Not surprised by Anonymous Coward · · Score: 3, Informative

    We have to use Slack at work (because people that think it's cool said we do), and it's such a resource hog it isn't funny. I've disabled every feature and blocked animated images and it's still annoying.
    You can connect with pidgin if you want a semi-functional version of it, but the XMPP support is missing critical things, like when someone opens a new group chat with you (you won't see it).
    I would love for it die, but I know that won't happen.

    1. Re:Not surprised by Orphis · · Score: 2

      I just used the IRC bridge at work instead, it worked alright, but I don't remember using the group chat feature at all, we just had regular channels.

  5. Node.js & Chromium by tonique · · Score: 3, Informative

    Fide Wikipedia:

    Slack: Written in Electron

    [Electron] allows for the development of desktop GUI applications using front and back end components originally developed for web applications: Node.js runtime for the backend and Chromium for the frontend

    The beginning does promise lots of memory usage already...

    1. Re:Node.js & Chromium by theurge14 · · Score: 2

      Just like Atom.

      Reminds me of "Write once, run slowly everywhere."

    2. Re:Node.js & Chromium by scdeimos · · Score: 2

      Oh, it's better than that. I once complained to Slack support about its tendency to slurp up CPU and RAM on the system. They said it launches a new instance of Chromium for every channel you subscribe to, but that they were working on improving its resource usage.

  6. Easy Fix! by Anonymous Coward · · Score: 2, Interesting

    Don't use Slack. There are countless chat applications available, including free and open source ones. Most of them are not resource intensive.

  7. For a moment I got scared by future+assassin · · Score: 2

    and thought something bad and corporate happened to Slack aka Slackware.

    --
    by TheSpoom (715771) Uncaring Linux user here. I have nothing to add to this but please continue. *munches popcorn*
  8. oh boy yes! by citylivin · · Score: 5, Insightful

    i hate slack. It copies to the machine like your entire history in every conversation, including all media. Most people here, there appdata slack folder is like 1.5gb and growing all the time. And we have only been using the software for a year, when someone decided that we had to adopt this fad.

    And its all just animated gifs and useless other crap.

    I hate slack, and i dont understand why people can't just use email for communication. Instant messaging made sense in the days of ICQ when email servers often took 15 minutes to relay messages. But now with exchange active sync and push emails it seems unnecessary to me.

    To me, the people that like slack, are the ones that want you to respond to every little thing ASAP and they see it as a way to force people to respond quicker. Only thing is that this manic quickness destroys the mind, trains of thought, and makes it very hard to concentrate on project work when you are being distracted constantly by "chatters" (or i suppose, slackers). At least with email there is an expectation that you may take an hour or two to read it. That expectation goes away with IM clients, psychologically. For some personality types, this is a positive, and those personality types are sadly winning out.

    I blame phone culture personally, but i certainly had younger friends in the ICQ days who would send 10 messages for every one response you made. Each one getting more and more desperate for a connection. Sad that the world has moved more and more in this direction, as reasoned responses take time to generate.

    --
    As a potential lottery winner, I totally support tax cuts for the wealthy
    1. Re:oh boy yes! by langelgjm · · Score: 4, Interesting

      At my company, Slack fosters an "always-on" culture that fosters the expectation that people should always immediately respond to any request (even when not at work), and in my case, takes away from the ability to sustain focus on any complex problem for more than a few minutes. It's terrible, and I hate it.

      --
      "Anyone who [rips a CD] is probably engaging in copyright infringement." - David O. Carson
    2. Re:oh boy yes! by Wraithlyn · · Score: 3, Informative

      Email is not optimal at back-and-forth *group* conversations, where Slack excels.

      this manic quickness destroys the mind

      This is a weird complaint. If someone chats with you in person, or you have an in-person meeting, does this immediacy "destroy your mind"? Email still has its place but sometimes you just need to have a quick chat about something.

      makes it very hard to concentrate on project work when you are being distracted constantly by "chatters" (or i suppose, slackers)

      Found the problem. Turn off notifications except for messages specifically mentioning you, and learn to ignore Slack when you're busy.

      All of the above being said, Slack is a big fat resource hog and deserves all the criticism it gets for that. But group-focused messaging platforms have value.

      --
      "Mind, as manifested by the capacity to make choices, is to some extent present in every electron." -Freeman Dyson
    3. Re:oh boy yes! by maliqua · · Score: 5, Interesting

      This is a weird complaint. If someone chats with you in person, or you have an in-person meeting, does this immediacy "destroy your mind"? Email still has its place but sometimes you just need to have a quick chat about something.

      Do you have meetings every 30 seconds for an hour that last 2 seconds each?

    4. Re:oh boy yes! by langelgjm · · Score: 2

      f someone chats with you in person, or you have an in-person meeting, does this immediacy "destroy your mind"?

      Um, yes? I can't the stand the constant "Got a minute?" questions, where someone walks up to your desk and interrupts whatever you're doing (thanks, open floor plans). Or a string of meetings with a half hour or hour between each, so that you don't really have enough time to get into a flow in between.

      --
      "Anyone who [rips a CD] is probably engaging in copyright infringement." - David O. Carson
    5. Re:oh boy yes! by enjar · · Score: 2

      I heard the exact same complaint about email 20 years ago, and co-incident with effectively dealing with office interruptions. It's not a Slack problem, it's a people/culture problem. You can find books written decades ago that are filled with effective techniques to manage interruptions and work/life balance, as twenty years ago there were people staying late at work, who were emailing at all hours and expecting responses. You can work (meaning take some leadership) to establish reasonable boundaries, you can accept it as-is, or you can find work in an organization that values "off hours" from work. In my fifteen years on the current job, I've *never* been told I need to be on call 24/7, that I was expected to answer email outside working hours or that I should call in on vacation. Probably one of the reasons why I keep working here.

  9. Poor Multiple Group Support by Feneric · · Score: 2

    In general Slack's support for being members of multiple groups seems to be poor. Basically it looks like it doesn't have the concept of a single user simultaneously being members of multiple groups, and duplicates everything. It's particularly painful for 2FA.

  10. Slack Desktop by Junior+Samples · · Score: 5, Insightful

    What is Slack Desktop and why would I want it?

  11. WTF? This is an IRC client and a few bots at most! by Anonymous Coward · · Score: 2, Interesting

    Jesus H! People want to buy slack as a company? Wow, simply just wow.

    and IRC server and a couple of bots would sort most of this out. (And fuck the gifs)

  12. React & Electron by Midnight+Thunder · · Score: 2

    Slack is written in React and uses Electron. I suspect the version of the Google's V8 JavaScript engine being used does not benefit from some of the more recent optimisations used by the one in Chrome 57?

    I would be curious to see what could be done to improve things?

    --
    Jumpstart the tartan drive.
    1. Re:React & Electron by Anonymous Coward · · Score: 2, Insightful

      Not running an entire fucking browser process just to display chat messages would be a good start.

  13. Amazing by Anonymous Coward · · Score: 2, Interesting

    People managed to do multiple chat rooms when 2400 baud was hot shit and their PC had 1/10 the processing power and memory of a modern one dollar SoC embedded controller... Fast forward 30 years and other people have apparently managed to create a multi-room chat system that is apparently capable of bringing systems with literally ten thousand times more processing power, memory and network bandwidth than ye olden PC-AT and acoustic modem to their knees.

    I assume this is a conspiracy by battery manufacturers to make us buy more replacement batteries, because it's impossible to be that farking stupid by accident, isn't it?

  14. Re:The memory obesity problem. by fisted · · Score: 3, Funny

    Now now, why use the heavyweight printf for hello world when you have no formatting and might as well use puts instead?

    Kids these days.

    Now get off my lawn.

  15. A less resource intensive client... by Parker+Lewis · · Score: 3, Informative

    In the time Slack has not a Linux client, I've created a similar client using qtwebkit for Linux: https://github.com/raelgc/scud.... It was a bit popular, then Slack released the official client, and I thought that my simple client was dead. For my surprise, it's still alive for all people complaining about resources.

    Sure, still a web container running the web version with desktop integration, but at least is using directly a web engine, not an entire browser. The reason is because Slack has no messaging API at all.

    Two downsides: Slack keep changing their JS all the time, so it's a cat and mouse game. And qtwebkit itself keep breaking small stuff, so, last month I got 2 major issues: Arch Linux got the newest qtwebkit version, and it was crashing with a dump, not even a python stack (fix was downgrade. Ubuntu 16.04 faced the opposite: Slack upgraded their CSS and qwebkit version included in Ubuntu 16.04 was no more properly rendering the CSS (I pointed people to a package that upgraded 16.04 webkit.

    I contacted Slack at least 2 times offering helping on Linux as a volunteer, as their client is just a "compiled" JS and I told them I can: fix some issues, help testing and improve integration with major Linux desktops, but most of the times I have no answer or the traditional "we appreciate, but no".

  16. Javascript being Javascript by Gravis+Zero · · Score: 4, Insightful

    If Javascript devs can be honest with themselves for a minute then they will realize that this is the result of using Javascript to make applications. Simply put, Javascript was never intended to be used for making applications and poor performance is a reflection of that reality. I'm certain they could optimize it but the overhead compared to a native application is absurd. Don't give me that "Javascript is one languages for all platforms" line either because C++/Qt works on just as many platforms.

    --
    Anons need not reply. Questions end with a question mark.
    1. Re:Javascript being Javascript by Dutch+Gun · · Score: 2

      Yep, this is what happens when developers insist on using the only tools they know instead of investing the time and effort required to learn and use the most appropriate tools for the actual job at hand.

      So, as I understand it, instead of biting the bullet and simply creating an actual native app, web developers created an entire new framework more or less consisting of an entire browser (and one not known for being easy on resources to begin with) and it's Javascript interpreter, all so they could continue to use Javascript and pretend the whole thing is a "native" application.

      Insanity.

      --
      Irony: Agile development has too much intertia to be abandoned now.
  17. Task Manager add-on might help by Picodon · · Score: 2

    In those situations, I use the Task Manager third-party add-on to find out the culprit. In my experience, the cause of CPU hogging is often one of the several add-ons I use with Firefox. Saving the session and restarting often cures the ailment, though I sometimes find that I have to close specific pages (weird interaction of combination of pages and add-ons).

  18. Not just Javascript being Javascript by mi · · Score: 3, Interesting

    If Javascript devs can be honest with themselves for a minute then they will realize that this is the result of using Javascript to make applications.

    I don't think, it is fair to single out JavaScript developers in particular...

    Per Moore's law, today's computers are 1024 times faster than 15 years ago. Is the "user experience" that much better? It is not. Maybe, it is 10 times better: voice recognition almost works, graphics are better, apps are smarter. But nowhere near 1000-fold improvement. Because the developers "ate" most of the gains in hardware using it for their own convenience instead of that of the end-users.

    --
    In Soviet Washington the swamp drains you.
  19. Well this is a first by thegarbz · · Score: 4, Insightful

    Not only does the summary not mention what Slack is, but 83 comments in and none of the comments do either. Though a lot of them seem to agree it's a resource hog. Is that really all it does? I mean you could achieve the same thing by opening Rick Astley videos on youtube, hitting play, and repeating for 30 tabs.