-
-
Notifications
You must be signed in to change notification settings - Fork 95
defer activating the package until the window is loaded. #485
Conversation
Codecov Report
@@ Coverage Diff @@
## master #485 +/- ##
=======================================
Coverage 75.91% 75.91%
=======================================
Files 27 27
Lines 436 436
Branches 42 42
=======================================
Hits 331 331
Misses 89 89
Partials 16 16 Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, this solves a recurring issue we've had where we keep getting startup performance regressions from new features being added.
Can you please rename the commit to use the conventional changelog standard, something like perf(startup): defer activating the package until the window is loaded
?
Woops. Sorry, I skimmed the contributing guide and missed that part. I've updated the commit |
No worries, thanks so much for the PR :) |
I just noticed #330. I guess this resolves that as well. After reading the suggestions there and looking at the code, I'm pretty confident that all the |
This PR defers package activation until the shell environment is loaded. This should speed up startup time of Atom and doesn't impact `ide-python` since we need to wait for the shell environment to be loaded anyway. See prettier/prettier-atom#485
This PR defers package activation until the shell environment is loaded. This should speed up startup time of Atom and doesn't impact `ide-python` since we need to wait for the shell environment to be loaded anyway. See prettier/prettier-atom#485
Using the latest version of atom (1.34.0 at this time), this package is consistently the slowest to activate. I've recorded the average activation time for this package in two scenarios;
Using this activation hook, atom will defer activating this package until the window is ready to use and then there's no impact to startup time. Since this package doesn't need to do heavy setup, I think it should wait as long as possible to activate anyway.