I've noticed that language-babel often contributes ~300ms to activation time. Looking at atom --profile-startup, we can see that this is actually due to three big and easily deferrable dependencies:
It's extremely easy to get these out of the startup path by moving the require statements closer to their uses. The three major suspects in the screenshot are:
@emmetio/expand-abbreviation (~60ms)
fs-plus (~80ms)
js-yaml (~150ms)
These are typically lower in practice due to Atom's v8 compile cache, but once these are lazily required language-babel consistently takes less than 100ms of activation time according to timecop.
I've noticed that
language-babel
often contributes ~300ms to activation time. Looking atatom --profile-startup
, we can see that this is actually due to three big and easily deferrable dependencies:It's extremely easy to get these out of the startup path by moving the require statements closer to their uses. The three major suspects in the screenshot are:
@emmetio/expand-abbreviation
(~60ms)fs-plus
(~80ms)js-yaml
(~150ms)These are typically lower in practice due to Atom's v8 compile cache, but once these are lazily required
language-babel
consistently takes less than 100ms of activation time according to timecop.