Slow Brackets Performance (OS X >> Not because of Highlight Active Line) #6457

Open
TuckerWhitehouse opened this Issue Jan 10, 2014 · 15 comments

6 participants

@TuckerWhitehouse

As requested in #6365.

I haven't had time to fully test the different scenarios, but I think @sbruchmann may be correct in his suggestion that CodeHints is the source of the issue.

I know I had issues about 3 versions back with Javascript CodeHints in a project that had 10+ libraries with both full source and minified versions.

With my current project, I am writing a lot of LESS, and any time there are nested css selectors, it is always showing code hints (which is a different issue) but may be one reason there are performance issues.

The rate at which brackets performance deteriorates is often slower for me than as described in #6365 (usually takes a few hours) but once it starts getting noticeably slower, it very quickly then becomes completely unresponsive (and there is a Brackets Helper process in Activity Monitor with 100% CPU marked Not Responding).

I am using the latest source from GitHub (and compiling the shell) on OS X Mavericks.
I do not have Highlight Active Line enabled (and never have)
I also tried using brackets with all extensions disabled, and still saw the issue after continued use.

@lkcampbell

@TuckerWhitehouse you can confirm that the Javascript code hints are causing the performance problems by temporarily disabling it and seeing if the problem goes away.

You can disable the hints by moving the JavaScriptCodeHints folder out of the www/extensions/default folder and restarting Brackets. Just don't forget where you move it so you can put it back when you are done :).

@TuckerWhitehouse

@lkcampbell Thank you, I actually moved JavaScriptCodeHints, CSSCodeHints & HTMLCodeHints out, and although it makes using brackets more usable for me, still get hang. If I check out the Activity Monitor, there is the same Brackets Helper process that is not responding with 0% CPU usage. So I guess Code Hints isn't the issue.

@lkcampbell

Very odd. You have definitely ruled out all of the causes I know about. Maybe someone else on the team has some other troubleshooting ideas for you to try out.

@lkcampbell

@njx et al. If you guys have some other ideas on how to troubleshoot this issue, please post them here.

@dangoor dangoor was assigned Jan 13, 2014
@dangoor

As @lkcampbell points out, you've already ruled out many of the common performance problems. If you've got all extensions you've installed disabled, turned off Highlight Active Line and even removed the default code hinting extensions, you're left with a Brackets that should be quite swift indeed.

Would it be possible for you to use "Show Developer Tools" and start the CPU profiler when your Brackets starts getting slow? It's really hard to tell what Brackets might be doing and it sounds like a case we haven't seen before.

@TuckerWhitehouse

@dangoor, took a CPU profile as I noticed it becoming laggy (checked activity monitor first and saw the same Brackets Helper process not responding). A keypress was taking around 400ms or so. Also, I closed brackets and re-opened after, checked activity monitor, and the brackets helper process spiked to 96% CPU usage while brackets was starting, and then dropped to about 2% and then became unresponsive.

Would it be better (where I am the only one seeing this issue) to just delete everything brackets and start over, or keep my setup as is and continue to explore this issue?

Javascript CPU Profile
https://docs.google.com/file/d/0B_YTFgXw7A6nQzRPbzhuVnFUdGc

@njx
Adobe Systems Incorporated member

Note that the Brackets Helper process turning red in Activity Monitor can be a red herring - it seems to happen even when the process isn't actually hung. Not sure why...we should figure that out.

@TuckerWhitehouse

It appears to me that a get selectionStart execution is taking 463ms (if you look into the Tree view, on the 7th line down there is an anonymous function, and nested underneath is the "get selectionStart").

@njx, good to know about the Helper Process.

@chriskobar

Just chirping in here, though certainly not an experienced application troubleshooter. Nonetheless, I am experiencing the same exact issues with the newest version of Brackets as well as Adobe's Edge Code Preview. The Brackets/Edge Helper seems to always fail and application crawls to a complete halt. I have uninstalled/resinstalled both Brackets/Edge Code and get the same result: near-complete unresponsiveness. I am on Mavericks on an early 2013 27" iMac with a Fusion Drive.

@chriskobar

Might be worth noting that the first that that seems to immediately fail is the ability to save a file. Upon launching, adding a single space to a file and then trying to save that file: fail. Also, cannot quit application without using Activity Monitor to force quit.

@njx
Adobe Systems Incorporated member

Nominating for further investigation.

@njx
Adobe Systems Incorporated member

@TuckerWhitehouse - following up on this - are you still seeing this hang/freeze? (Not just the activity monitor turning red, but Brackets actually freezing.) Thanks.

@njx
Adobe Systems Incorporated member

Also, one note is that I recently ran into the problem of running all tests (including integration tests) getting really slow and chewing up a lot of memory. It might have gotten worse since our original fix.

@TuckerWhitehouse

@njx, I haven't really given brackets a chance for this to happen in the past few weeks (typically closing brackets within and hour or 2). I've got a few projects to work on tonight, so I'll keep it open and see if the issue still occurs.

@njx
Adobe Systems Incorporated member

Great, thanks. FWIW, we're going to be working on a few performance-related investigations over the next few weeks, so with any luck one of them will fix the problem you're seeing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment