Skip to content

Performance Issues With Undo/Backspace - Freezing/Crashing #183

@vaughnroyko

Description

@vaughnroyko

On a fresh, clean install with Atom Typescript (with Linter/Autocomplete+) installed, the following issues occur on a larger .ts file (around 3000+ lines, although the more lines you have, the bigger the issue - there is some stuttering even on 500 line files):

Holding down backspace over any code in file will cause the linter to execute (or maybe it's just the TypeScript error checking?), seemingly every character removed, freezing Atom completely during being held down and up to 1 minute after backspace is let go. This effect can sometimes even lock up Atom completely, never recovering. It also appears that the autocomplete dialog seems to be firing as well during this, as if you get it to stop in the right place, it will open up (only sometimes). Undoing a large amount of operations will also illustrate this issue, especially over lots of small changes.

This isn't directly related, but could solve the issue I am describing. Changing any option in the Linter/Autocomplete+ settings will have no effect on Atom Typescript. Not sure if this is by design, but being able to control the linter and autocomplete settings would solve the issues I am describing since I could disable linting/error-checking on change, or use a execution timeout, or limit the results in autocomplete, or the letters needed to autocomplete. Type the letter "i" and watch the tens of thousands of results it gives on a medium-sized project.

Showing the effects of the performance issue:
http://screencast.com/t/iBywbX2KF2w5

I start by editing a smaller file with no issues, then move to a bigger one. As you can see it's taking full chunks out of my code with backspace, freezing and stuttering as it goes. During undo, it locks up for a couple seconds at a time.

Any workaround is appreciated. Thanks!

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions