Why is Atom so slow?


I used Brackets recently and it opens like 10x faster than Atom and as far as I know it’s based on the same technology. Why is atom so much slower?

Why is Atom so fast?
Takes Atom 20+ seconds to start
Keep atom as background app for improved startup time
Why is Atom so fast?
Topics that start with "Why"
Why my atom is slow?
Why my atom is so slow and use so much ram
Atom too slow on my Macbook Pro
Could be faster
Atom is pretty slow in comparaison of sublime
Atom is slow as compared to Sublime
Why is Atom painfully slow?

I don’t think anyone here is expert enough in Brackets to give a point-by-point comparison. Any volunteers?

Perhaps if you’re curious you could dig into the code and suggest some performance optimizations?


Yeah, I’m already kind of doing this but I’m no expert in node.js and javascript stuff, just wanted to know if anybody cares about this. I’m currently a little stuck at making atom-shell work with atom, simply dragging atom folder onto the shelll didn’t work for some reason :smiley:


We absolutely care. Some are bothered by the startup time more than others, of course. But we are all here because we want to see Atom succeed :grinning:

I’m confused by this part of your post though, Atom already includes atom-shell within it. There isn’t any need to try to put them together, to my knowledge. Or am I missing something?


For me it is really slow when opening up a folder from a mounted drive with Transmit.


I remember seeing an issue on atom/atom for flakiness and performance problems with mounted volumes.


While Brackets is itself built in HTML, CSS, and JavaScript, it isn’t a “full browser” in the way that Atom is. There’s no webkit/blink inspector in Brackets, for instance, and it isn’t running a full Chromium (or other browser) inside it. Rather, it’s presumably built in a similar way to other “desktop” apps built on top of NodeJS.


This is the most disappointing and WTF thing for me… I really don’t understand why Node.js and Webkit were chosen if they want to compete with a performant native text editor (Sublime) and bloated IDE’s (Eclipse).

When selecting a few paragraphs of text, the selection lags several lines behind my mouse! Scrolling is slow and switching between tabs is slow. And I mean slooowwww. On my machine (Thinkpad T440s), Eclipse is faster! Eclipse scrolls faster, switches tabs faster, selects text faster. And it has autocomplete. If Eclipse can outperform Atom at editing text files, then I think there’s a serious problem.


That is really strange. The only slowness I ever see if when starting up. Is it that slow in --safe mode? Maybe some plugin is slowing you down.


I just did a fresh install… no plugins beyond whatever is default and the Scala syntax plugin, although the performance was the same before I installed it. Same performance in --safe mode. Here’s a video comparison between Atom and Eclipse scrolling on my computer.


I can barely tell the difference. Maybe it’s because of the video frame rate. But the only thing that matters is how it feels to you

It is comparing javascript to C/C++. I suspect it will not get any better in the near future. I guess parts of atom could be moved to a C++ plugin.


Watch the part where I’m selecting slowly around the :04 mark. Can you see where my mouse is? The selection gets to be literally 15 lines behind my mouse. When you’re quickly trying to make a selection with any sort of precision, it matters. When eclipse is better at this than a text editor, it hurts.


In my opinion, they didn’t intend to compete directly with either. The major benefits to Atom, in my eyes, are:

  • You can theme and style it using CSS/LESS
    • Experts already exist
    • Animations are possible without having to create a special API
  • You can extend it by writing packages using CoffeeScript/JavaScript
    • Experts already exist
    • Very low barrier to entry
    • Testing frameworks already exist to help people write high-quality extensions
  • Large bodies of libraries already exist in the form of npm packages
    • This gives both Atom and extension writers a big boost in productivity
    • Growing all the time … and probably faster than non-extension libraries of code for other editors
  • Integrated Debugging tools
  • And more I’m sure …

Now, certainly … if performance is of supreme importance or the above benefits aren’t useful to you, I can completely understand someone else making different choices. Personally, I find the above very compelling and I believe that, in the long run, the performance issues can be addressed through optimization and the judicious replacement of JavaScript with native C/C++ libraries.

Disclaimer: I am not an employee of GitHub nor a member of the Atom team. I’m just a volunteer.

"Apps Using Significant Energy"
Atom is slow as compared to Sublime

All of this makes me want to love it, but it’s not just about performance being of supreme importance… it’s about performance being at a reasonable level rather than being sluggish and creating an overall frustrating experience. When scrolling slowly on a page with under 200 lines of code the selection should not lag.

And I don’t know about the “official” stance on the editor, but everyone is trying to sell it as a Sublime replacement. And the extension system does seem far superior to Sublime’s. But the editor just isn’t usable to me right now.

I hope this has more to do with the Linux version or my system than Atom’s architecture in general.


To that extent I can agree.
There’s a lot to love about Atom, and while performance issues (certainly the slow launch) are both excusable and tolerable for many of us, they are less so for many others; and they undoubtedly affect the overall user experience negatively to those using it heavily at the moment (which I am not, strangely, but I’m empathetic).


Atom for Windows is also very slow. I’ve got a brand new laptop and my Visual Studio boots up even faster then atom.
Is there a known cause for this bad performance? Is someone looking in to this?


Let’s try and keep the topic constructive rather than just venting frustrations.


On that note, I would like to know what knowledgeable people think would make Atom more scalable - both in terms of responsiveness of large buffer sizes, and app launch and load times, which appear to be the two major performance gripes people report.

Beyond the good practice for individual package developers, I mean.
With the current high-level design, is it possible to reach Sublime or even Notepad+±level performance by any chance?
And if not, what might possibly get us there?


I doubt it could be done without losing some of the extensibility advantages.

I keep notepad++ around for non-programming. It loads so fast that it doesn’t bother me to fire it up for large files or quick text file editing. I am convinced the feature set of Atom will grow exponentially and I am already confident I will be using it for years.

P.S. What is weird is that ST2 also took four seconds to load for me. I must have had a bad plugin or something.


This doesn’t help you, but I just tried the select lines thing on OS/X and it kept pace with the cursor. So, it’s possible for performance to be good, but the Windows version is lagging the OS/X version.