Where's All My CPU and Memory Gone? The Answer: $5B Worth Slack App (medium.com) 190
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.
Norton and McAfee can use more cpu they should buy (Score:5, Funny)
Norton and McAfee can use more cpu they should buy this!
This is to be expected (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.
Re: (Score:3)
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.
Re:This is to be expected (Score:4, Informative)
Connect to Slack over IRC and XMPP [slack.help]. I tried this for I while but it was awkward in my experience.
Re: (Score:2)
IRC is nothing compared to displaying plain ASCII text files.
Re: This is to be expected (Score:2)
Re: This is to be expected (Score:4, Funny)
Shit, did I just get whooshed?
Don't worry.
The drowned don't suffer any longer.
What is dead may never die
Re: (Score:2)
You got whooshed, yes.
But even writing "Hello World" in assembly takes forever.
Re: (Score:2)
I am sure there are some like "You're" that increase this time saving (oh wait, yet another si
Re: (Score:2)
I see what you mean, but it seems to me that written language follows, rather than leads, spoken language. Speak what you wrote with and without the contractions, and you'll find that (some of) the contractions flow better than the longer form. (I did, though the fourth and fifth sentences were pretty awkward.
Here's an example:
I cannot argue with your assessment that they do not save any significant time, and in the case of "you're" and "it's" are a source of significant confusion.
I can't argue with your a
Re: (Score:2)
Ahhh, you have to love the little subtleties of this language.
On a side note you al
Re: (Score:2)
You know, I never really like contractions. It seems that all most of them (at least the ones that are most misused) do is eliminate a single space and a letter.
Contractions are not about saving a couple of characters. They're about presenting a more natural form of communication. They're an attempt to portray everyday speech, rather than some stilted kind of English that almost no one actually uses.
IRC, done poorly. (Score:5, 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.
Re:IRC, done poorly. (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.
Re: (Score:2)
I say we start again from scratch.
Here, I'll help and start with the basic building blocks:
0
1
You're welcome.
Re: (Score:2)
At one point I had to use Windows Update to download a new version of the "Microsoft Visual C++ Redistributable" which, for whatever reason, there are 23492834 versions of.
This was on a computer with an i7-6700K, a SSD, 16GB RAM, and fast internet.
It took four hours. I have no fucking clue what that machine was doing during that time.
Re: (Score:2)
It was searching for other competing shit it could surreptitiously wipe from your system.
Re: (Score:3)
Re: IRC, done poorly. (Score:2)
Well, Somebody require fully functional app with "acceptable" number of bugs in record time, made cheaply you use high level frameworks and shit on memory and CPU resources.
I've been using Atom recently and it's a bloated whale (not to mention that they think they can call something without macro recording a programmers editor). I wish Electron would just go away.
Re: (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."
Re: (Score:2)
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.
There's nothing wrong with using tools. If there's a well-written library that does something, then you can focus on the things that you're an expert in and allow people who are experts in something else to optimise their library. The problem is that programmers are increasingly bad at judging the quality of the libraries that they use.
Re:IRC, done poorly. (Score:5, 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
Re: (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 u
Re: (Score:2)
This whole issue is amusing to me because with the past couple days there was another Slashdot he
Re:IRC, done poorly. (Score:5, Funny)
But mIRC let you slap people around a bit with a large trout.
Re: (Score:3)
/me understands this reference.
Re: (Score:2)
hunter2
Re: (Score:2)
I still prefer docow. epic+wctb 4ever
Not surprised (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.
Re: (Score:2)
I'm thankful it's not corporate standard here, though some peop
Re: (Score:3)
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.
Node.js & Chromium (Score:4, Informative)
Fide Wikipedia:
The beginning does promise lots of memory usage already...
Re: (Score:3)
Just like Atom.
Reminds me of "Write once, run slowly everywhere."
Re: (Score:3)
Easy Fix! (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.
sadly (Score:1)
This isn't even a matter of it being a bloated web app on Electron. It's just a badly written bloated web app on Electron.
For a moment I got scared (Score:3)
and thought something bad and corporate happened to Slack aka Slackware.
Re: (Score:2)
AlienBob got fired...
Re: (Score:2)
I am a slacker and I recognise slack it is software for slackers. Make it look like you are really busy and contributing but in reality you are just slacking off and playing the corporate social media game. I am the other kind of slacker, manage yourself to be far more productive so as to increase slack time. This software is bad, chews up productivity to fill it with empty make busy work, gets socially effective manipulative douche bags promoted and the real productive people fired because they are not pla
Well Trump (Score:2)
you cared enough to reply.
Re: (Score:2)
Its still an effort that shows you care enough to to post first and then fart.
oh boy yes! (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.
Re:oh boy yes! (Score:5, 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.
Re: (Score:3)
Re: (Score:2)
Agreed, it's not is if Slack causes these problems by itself. But in my workplace, it's an additional medium that encourages a culture of immediacy and interruption. Slack did not create that culture (I received "urgent" e-mails before Slack and I still get them after Slack), but now instead of N ways to interrupt me, people now have N+1 ways.
Re: (Score:2)
At my current job, I've set strict limits with my coworkers - I don't have any push notifications turned on, I refuse to install Slack on my personal phone, and I don't check e-mail when I'm not at work or on weekends. However, I'm probably the only person at my company who behaves this way, and it gets noticed and called out as being "inflexible".
Sounds like time to start looking for alternative employment. There are plenty of employers out there that don't expect 24/7 availability, or who compensate accordingly if they do. If it's quite literally the whole company steeped in this culture it's probably not worth the pain and hassle of fighting it -- find something better.
Re:oh boy yes! (Score:4, Informative)
Email is not optimal at back-and-forth *group* conversations, where Slack excels.
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.
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.
Re:oh boy yes! (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?
Re: (Score:2)
No. And I don't have people bothering me on Slack every 2 minutes either.
If you have people bothering you every 2 minutes, that's the problem. Not the medium.
Re: (Score:3)
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.
Re: (Score:2)
So you're incapable of thinking on your feet or holding a conversation? If this were actually true you'd be completely unemployable.
Carving out time for uninterrupted work is of course important. If you have challenges with this where you work I suspect Slack is not the real problem.
Re: (Score:2)
Re: (Score:2)
It encourages communication.
You're talking about needing isolation.
Requiring isolation to concentrate on your job does not mean communication is bad.
Re: (Score:2)
Re: (Score:2)
Yes, there are other group communication protocols. So why has Slack taken off? (If your analysis is really, "uhh... hipsters" sorry but you're a fucking idiot) Because Slack has a great UI, and is very easy to use. It's really that simple.
Do you really think you're going to get everyone at a company using USENET or IRC? Seriously? EVERYONE, not just the techies.
Tech geeks tend to downplay the value of ease-of-use and good UX, because they'll happily wallow in a complex UI and tinker with configuratio
Re: (Score:2)
And its all just animated gifs and useless other crap.
If you are using this for work, you can establish a policy for professional communication that keeps things on topic and excludes animated gifs.
I hate slack, and i dont understand why people can't just use email for communication.
Slack (and other things like it) allow group conversations to happen where new group members can be added to the conversation and see all the history and discussion. This group discussion remains as a artifact to be referred to later by others who may find it useful. For example, marketing and development may discuss a new feature in a group chat to clarify details
Poor Multiple Group Support (Score:3)
Slack Desktop (Score:5, Insightful)
What is Slack Desktop and why would I want it?
Re: (Score:2)
Especially when it has a semi functional xmpp gateway to use a real chat app with.
Re: (Score:2)
Brilliant
Re: (Score:2)
Slack is an instant messenger style 'chat' app, primarily aimed at business user, although they also gently court 'groups', such as open source projects and whatnot. It has some nifty features, such as chat history (even when you're not logged on), private/public groups, private chats, bots for many popular apps and easy developer integration APIs (so it's super easy to have your monitoring system write messages on alerts, for example). Conversations can have media in them (pictures, videos, file attachment
So what you're saying... (Score:2)
So what you're saying is that Slack's resource utilization increases linearly as you add more accounts to your Slack desktop client? But does it increase linearly as you add more accounts?
(for the sarcasm impaired, the summary is basically the same sentence repeated)
Static binaries? (Score:2)
But I thought that modern OSs figured out how to share even them in RAM.
WTF? This is an IRC client and a few bots at most! (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)
Re: (Score:2)
Really? (Score:2)
React & Electron (Score:3)
Slack is written in React and uses Electron [slack.engineering]. 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?
Re: (Score:2, Insightful)
Not running an entire fucking browser process just to display chat messages would be a good start.
Re: (Score:2)
Chrome's JS memory improvements landed in 55. The current version of Electron is build on 56, so they're probably included.
Electron apps are a resource nightmare, as is Chrome itself. My wife is in a school for (mostly web) development. Her system tends to run 3 apps: Chrome, Atom, and Slack, so essentially three copies of Chrome. 8GB of RAM is simply not enough to run a text editor, a chat client, and a web browser. That's insane.
Amazing (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
A less resource intensive client... (Score:4, 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... [github.com]. 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".
Re: (Score:2)
Seconded. I am a happy ScudCloud user too — there is no "native" Slack app for FreeBSD. It is resource intensive too, but not so bad — using 1.7Gb for one account.
Which reminds me, I really should add the port I created...
Re: (Score:2)
Re: (Score:2)
Why, thank you kindly for your generous permission...
Javascript being Javascript (Score:5, 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.
Not just Javascript being Javascript (Score:4, Interesting)
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.
Re: (Score:2)
... today's computers are 1024 times faster than 15 years ago. ... the developers "ate" most of the gains in hardware using it for their own convenience instead of that of the end-users.
Yeah, like writing programs in a shitty script languages like say... JavaScript. -_-
Re: (Score:2)
Or Ruby. Or Scala. Or...
Re: (Score:2)
I agree. Throw Python and Perl in that mess too. Yes, I've seen Perl GUI apps.
Re: (Score:3)
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
Re: (Score:2)
Well this is a first (Score:5, 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.
Re: (Score:2)
Well, you just mentioned somebody named Rick Astley without explaining who that is either.
There's a difference between not providing context for understanding when understanding is the primary goal, and not providing context for the comical result of people Googling, when the comical result is the primary goal.
But don't worry man, we at Slashdot won't give you up or let you down, and we definitely won't run and hide or desert you.
Not a slack fan (Score:2)
As noted by many, many others, Slack is a resource hog.
It's unusable in Firefox or Chrome in linux as it slows the whole machine down. Scrolling is sticky and laggy and a time sink because it takes so long.
The client is a little better, not much.
Also Slack forces you to have a General channel, which everyone is forced to use. With a few thousand people in it, it quickly because useless chatter that you can't shut out (you can mute it though).
I won't load the app on my phone. Others in my team have reported
0.1% & 25MB of RAM (Score:2)
I guess the windows version is better? My slack is using 0% -> 0.1% CPU at any given time and a whopping 25MB of RAM.
brower app (Score:2)
Slack beta (Score:2)
Try the beta. It seems to be doing a lot better with CPU usage. Memory usage might still be an issue (I have 16G so I don't care).
https://slack.com/beta/mac [slack.com]
After years of work... (Score:2)
and numerous new chat protocols, IRC still rules them all.
poptix 4507 0.0 0.0 141996 13148 pts/4 Ssl+ Jan10 57:23 \_ irssi --config=~/.irssi/config.efnet
That's *with* 'infinite' scrollback enabled.
Re: (Score:2)
What's Slack? (Score:2)
Re: (Score:2)
Where has all MY cpu gone? Ironically, about three hours ago, I noticed that my PC seemed sluggish. Fired up top. Opera is taking 25-30% of the cpu. What's Opera looking at? You guessed it, Slashdot. Killed the Slasdot tab. Opera usage dropped to under 1%.
Task Manager add-on might help (Score:3)
In those situations, I use the Task Manager [mozilla.org] 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).
Re:The memory obesity problem. (Score:4, 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.
Re: (Score:2)
Re: (Score:2)
Well, some of the macs can be brought to the dealer for upgrades. The imac 27" and the mac pro do have user accesisble DIMM slots.. And apparently the imac pro doesn't have user accessible slots. Apple is out of its mind.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Hello world results in megabytes of code on many modern platforms, but for more complex programs the overhead might be a lot less, percentage-wise. Couple of MB extra, more CPU cycles because the code isn't optimized isn't always a poor tradeoff either. A complex algorithm that hasn't been optimized mi
Re: (Score:2)
Re: (Score:2)