-
Notifications
You must be signed in to change notification settings - Fork 17.4k
Find remaining performance bottlenecks for large files #6692
Comments
By "remaining" you mean aside from the text-document repo, right? (which on the other hand hasn't seen any activity in almost 2 weeks. Is that still a thing?) |
@alexandernst we have decided to immediately extract some code and ideas from The plan is still to pursue the remaining ideas from text-document in some form, but we have made a tactical decision not to continue with the the |
Hell, Atom's core-ideas-roadmap-guide-things change every day :) |
@alexandernst Just a growing sense that we were taking on too big a piece. We still learned some really valuable things getting to think with a clean slate. But we decided it will be more effective to break them up and incrementally add them. We've already had a couple big wins performance-wise from doing this and I'd say about 85% of the code we wrote there is either in Atom or on its way to being in. |
A quick test confirms that tiling allows 1 million lines to be rendered correctly! 🎆 🎆 🎆 We still need tiling for the gutter, which stops displaying information as soon as we reach ~750k lines: I am going to mark the related task as completed and add another one where we can keep track of gutter tiling. 🔥 |
Thats awesome , i also made a list of test i've made against over here #6733 (comment) |
Closing this as we will create specific issues for more improvements. |
This issue has been automatically locked since there has not been any recent activity after it was closed. If you can still reproduce this issue in Safe Mode then please open a new issue and fill out the entire issue template to ensure that we have enough information to address your issue. Thanks! |
This list is a work in progress.
DisplayBuffer::getDecorations
(🐎 Avoid repeated array allocation in ::getDecorations #6694)MarkerManager::handleBufferChange
(Use MarkerIndex from text-document text-buffer#58)Marker::notifyObservers
(Optimize marker observation #7023)TextEditorPresenter::updateDecorations()
Marker::destroy > TextEditorPresenter::observeDecoration > CompositeDisposable::remove
. (Removing from a large CompositeDisposable is slow event-kit#7)getRange
toscanInRange
iterator text-buffer#64)Other ideas:
The text was updated successfully, but these errors were encountered: