Improve startup time #3673
Comments
benogle
added the
in-progress
label
Sep 30, 2014
kevinsawicki
was assigned
by benogle
Sep 30, 2014
benogle
added the
1.0-roadmap
label
Sep 30, 2014
YurySolovyov
commented
Oct 1, 2014
|
You can also take a look at atom/atom-shell#251, maybe you can get some speed there. |
ilanbiala
commented
Oct 2, 2014
|
Looks really awesome so far. Are these changes available in the latest releases of Atom, or are they only going to be available in 1.0? |
|
The listed changes have already been merged, and I'm pretty sure they're all in 0.133.0. |
|
Yup, they are all in the latest release |
kevinsawicki
added on-deck editor-rendering and removed editor-rendering in-progress
labels
Oct 6, 2014
|
Moving this back to on-deck since nothing specific to this issue is being worked on this week. |
tjfwalker
commented
Oct 24, 2014
|
Startup-time is my biggest and only serious gripe with Atom. All improvements are much appreciated. |
backspaces
commented
Oct 24, 2014
|
You may want to look at fast.js. Many parts of coffeescript use push where direct assignment is faster when the array size is known. In array comprehensions without an "if" conditional, the final array is known and should fast.js techniques. |
|
@backspaces Thanks for the tip, looking into fast.js |
picibucor
commented
Nov 24, 2014
|
Check this out: #4293 |
tomByrer
commented
Nov 28, 2014
bthusby
commented
Dec 30, 2014
|
Hope speed will come soon :) |
m1ga
commented
Jan 11, 2015
|
|
hyiltiz
commented
Jan 12, 2015
|
I hate the fact that I have to wait seconds for my editor to open a file; all I do is editing. |
This was referenced Jan 19, 2015
benogle
added 1.0-roadmap atom and removed 1.0-roadmap on-deck atom
labels
Jan 20, 2015
kevinsawicki
was unassigned
by tclem
Jan 20, 2015
|
How is everyone's impression these days, both compared to a few months ago and to other similar editors? Personally, I find massive improvements in startup time since, say, version 150 or even 160. It's not quite on the level of Notepad++ (yet), but it's certainly not enough time to get a coffee anymore. I'd say roughly on par with many equivalent full-featured editors. |
|
When I started using atom 9 months ago I was getting 6 to 8 second loads. On Thu, Jan 22, 2015 at 11:50 AM, batjko notifications@github.com wrote:
|
ilanbiala
commented
Jan 22, 2015
|
I've noticed that it still runs slower than Sublime/N++ or other native editors, and it cannot handle more startup packages like a native editor can.. |
benogle
added the
on-deck
label
Feb 19, 2015
Globegitter
commented
Feb 20, 2015
|
Yep same here - really like Atom Text editor, but the only thing so far noticeably worse compared to Sublime is performance. Especially startup time, having roughly the same amount of plugins. Hope there is still some room for improvements. |
charleswhchan
commented
Feb 20, 2015
|
On my PC:
Noticeably improvement! Keep up the good work. |
asantos3
commented
Mar 27, 2015
|
Hopefully someone can enlighten me or tell me if they have or not the same problem. I'm running Ubuntu 14.04. I start the PC and then start atom, it takes about ~12s to startup but then if I close it and start it again it takes about ~3s. I also have Windows in it and the startup is about ~40s and then the startup time is about the same. Is there a better way to debug this instead of just viewing timecop? Is this normal or what? I don't see any running processes related to atom after I close it so I doubt it's do to being in memory. |
|
I believe it's because Atom has to load everything from fresh the first time. Every startup after that, some of those things are cached and therefore it takes much less time to load. |
|
Yes, this has been observed on Windows ever since Window support came out. I wasn't aware it affects Linux as well, but there you go. Having said that, since Windows got the squirrel updater, people don't normally have to re-install from scratch, so this issue should affect most Windows users only once. Time for Linux to get an updater as well. |
m1ga
commented
Mar 28, 2015
asantos3
commented
Mar 29, 2015
|
@m1ga just tested it, doesn't happen with me. Have you tried other distros? |
m1ga
commented
Mar 29, 2015
|
@asantos3 no sorry. It only happens at the first start in a KDE session. So if it was open before it won't show up again. But it might get fixed with asar. So I'll wait |
asantos3
commented
Mar 29, 2015
|
Just cleared up my buffer cache and the startup took about the same time as the first run. As @m1ga said, hopefully this is fixed with asar. Keep up the good work |
jeffmcneill
commented
Apr 19, 2015
|
I use multiple Atom windows with multiple tabs in each window instance. I launch these from scripts. I'm on OSX 10.10 Macbook Air 2011 with 4gb RAM. It takes about 4 seconds to launch each window (after the first instance each window launches an Atom Helper process with about 100mb ram). Is there any way I can get that 4 second launch time down to 1-2 seconds? |
|
There will be some speed improvements arriving in 0.193.0. You can also try starting Atom with the |
jeffmcneill
commented
Apr 29, 2015
|
@50Wliu Thanks I do see some improvement with the -1 and on 0.194.0. Still some more speed would be nice, but there is progress here. |
|
@jeffmcneill is |
|
I suggest that atom should have package load level instead of load all package at start time.
see #4293 |
What if a level 2 package modifies the appearance of a level 1? Then you On Tue, Apr 28, 2015 at 11:03 PM, Yongkang Chen notifications@github.com
|
jeffmcneill
commented
Apr 29, 2015
|
I've disabled several core packages, including markdown preview, and things have sped up. See attached for my Timecop on one of the instances (with 5 tabs, about 14,000 words that the wordcount needed to count. It's not instantaneous but definitely better. I use atom to write books with (previously used Multimarkdown and others). Each chapter is a markdown+latex file. With notes and other items, about 30 text files are in a directory (only about 7 might load into tabs). @benogle --safe is faster, but I can't tell exactly because Timecop doesn't load. My process also adds a little overhead as I am double-clicking on .sh scripts to launch a Terminal that then executes change directory and invoking Atom. Total load time is in the 3-4 second range (using a stopwatch). It does feel faster now. A 2 second load would be nice to have at some point. The tuning with turing off packages and using -1 and the latest version is definitely an improvement. Latest Timecop: |
|
Just for a example. Package should can define the level in package.json, so 2015-04-29 14:13 GMT+08:00 mark-hahn notifications@github.com:
|
|
I created PR for improvement here! |
Penagwin
commented
Jul 8, 2015
|
Do plugins load asynchronously? Can they even load asynchronously? Would that help load times at all? |
jpxd
commented
Aug 19, 2015
|
Async package loading would be really great! E.g. |
josevimlet
commented
Nov 10, 2015
|
As a quick fix atom editor should have a background service like chrome does, this a simple solution that should work even with lots of packages and improve the experience on non SSD owners. Service mode could have an enable/disable option for people who might be short on RAM, but now days a small service running in the background shouldn't be an issue for any hardware. This doesn't mean startup improvement efforts should be halted, nevertheless atom as a service should be a option no matter the startup time. I think atom is awesome, and js (and friends) as the GUI is a perfect choice, with all the promised "hackability" and beauty only achievable by a cornucopia of options, but IMO most user, including me will be drawback by the current startup speed ~4s. A text editor, no matter how many cool things it has, will fail as a text editor if startup time is >1s simply because the experience is not acceptable compared to other native apps, this fact won't pass unnoticed to most people, but once again its just my constructive opinion. |
Note that there are a few huge speedups coming up in the next couple versions of atom:
Startup speed is @as-cii's full time focus right now. He is finding and improving things weekly, so keep an eye out for new stuff! |
josevimlet
commented
Nov 10, 2015
|
Great!, looking forward to it, nice work. |
timofonic
commented
Nov 14, 2015
|
Is this a step forward to having a more native-like performance? Great! |
50Wliu
referenced
this issue
Jan 2, 2016
Closed
Look into VS Code editor implementation (Improve editor performance) #10188
tomByrer
commented
Jan 8, 2016
|
When measuring speed, might want to factor in Chrome's garbage collection services. |
ilanbiala
commented
Mar 30, 2016
|
@benogle any update on this? |
walles
referenced
this issue
May 2, 2016
Closed
Can take up to 10s for initial window to appear #8918
lee-dohm
removed the
post-1.0-roadmap
label
Jul 15, 2016
passeride
commented
Dec 9, 2016
|
Suggestion: i have disabled some packages for faster startup, now if i could toggle them from the Shift+Ctrl P menu, that would be a great addition for me (But not as default tho), also would it be possible for a deamon to keep it running in background? |
Tzrlk
commented
Mar 8, 2017
|
Any thoughts on incorporating something like #4293 to get the editor displaying faster up-front? Or adding an option on the plugins to delay their startup? Additionally, have you thought about using something like http://rollupjs.org/ for tree-shaking? Certainly running a tree-shake, minify and bundle as a runtime cache per combination of plugins should get subsequent load times up a bit? |


benogle commentedSep 30, 2014
Status: This is an ongoing effort.
Via @kevinsawicki
The current plan is to investigate what is slow on startup, optimize it, and then investigate concatenating all the CoffeeScript requires to save eval time on startup.
Merged Changes
Times below are were taken with a Macbook Pro on OS X 10.8.5 with 2.6 Ghz Intel Core i7 processors and 16 GB of memory
~40mswhen starting Atom with a fully warm Less cache~33%~60mson startup~66%~40mson startup~10mson startup~250mson startup~200mson startup for large projects.~30mson startup~15mson startup