How to identify an offending package?


#1

Since I updated to Atom 1.14.3 on macOS Sierra (10.12.3) my window freezes for 10 seconds every minute or so while working on a C++ project. No mouse or keyboard interaction is possible during the freeze.

The problem does not reside in atom-core because it did not hang when I tried running atom --safe, so it must be a package affecting drastically the performance.

How can find out which package is causing the freeze?

Is there some kind of top for Atom sub-packages?


#2

There is not a top, but there are a few techniques that you can use to try to hone in on the offender.

  1. The freeze only happens when you’re working on C++? If so, you should be able to ignore everything outside that language.
  2. There’s a core package called timecop that records the time each package takes to load. The ones at the top of the list are generally the largest and may be implicated in performance problems.
  3. You can enable and disable packages individually via the Settings -> Packages view. This is burdensome when you have no idea what could be causing it, but if you have a list of top suspects, you can speed up the process quite a bit.

#3

I suspect you’re thinking of the timecop package.


#4

Yes, thanks. Edited. This is what I get for not looking things up. -_-


#5

Thanks @DamnedScholar and @leedohm for you answers!

  1. I don’t know whether the issue manifests outside of C++ too, for I currently have no other project to test it on.

  2. I already knew about timecop but, in any case, the startup time is fine by Atom standards, it’s the mid-usage freeze that bothers me.

  3. I did this exercise and came up with linter-clang and linter-gcc as top suspects. Anyone seen the same behaviour?