Poor multi-line cursor edit performance?


I am a recent Atom convert coming from Sublime Text and I love Atom and all the different ways I can customize and extend it. So far I have only found one insane performance hog that I felt worth the mention: multi-line cursor editing. From my experiments, performance decreases almost exponentially based on the amount of lines edited beyond 10-20 lines.

I can easily manipulate 200-300 lines in a 6,000 line file without noticeable performance issues in Sublime Text. Maybe this isn’t something I should be doing, but hey, I had a MySQL dump that needed every line of a particular table insert to be modified and I went at it with gusto, and Atom basically crashed. My face was sad.

Is there anything that can be done about this, and if so, what do you need from me to proceed?


Is there something that can be done about this? I’m certain there is. I don’t know exactly when it will, though. This may be addressed as part of the Large File Support effort, tracked here:

which is part of the 1.0 Roadmap, tracked here:

What I would do is open a new Issue, if one doesn’t exist already, document it as extensively as possible, and link it to the Large File Support issue as possibly related.

My assumption that they’re related is that:

  1. Large file support will require keeping something less than the full file in memory at a time, most likely what is on the screen and some amount above and below the current viewport for quick scrolling.
  2. When editing a file in multiple locations, each of those locations will need to be in memory even if those locations are not on the screen or near the displayed data at the same time.