-
Notifications
You must be signed in to change notification settings - Fork 73
Painfully slow buffer-update for large files #137
Comments
@ArekSredzki Just to make sure: are these files located in a Git repository? If so, do the performance problems still happen if you move them into a non-Git repository? |
@50Wliu The files are in a Git repository, however I just performed a test outside of any repos and the result was the same. The file I did it with was a bit bigger and the IDE is still blocked ten minutes later. Looking through |
@ArekSredzki That sounds great, especially if the line endings issue documented in @benogle's fork was fixed. EDIT: Actually it seems like it has...no idea why we're using a horribly outdated fork then 😕. |
@50Wliu Great! I'm so happy to hear that my troubles with this will soon be over! His commit seems to have been pulled into the main repo soon after the atom fork was made, so it's been fixed just the same there 👍 Any ideas as to when these changes would make it into the atom release? |
@ArekSredzki It depends on when we switch to the main repo. If we're lucky it'll be out in Atom 1.7.0, if not Atom 1.8.0 or beyond. I'll go create a PR. |
Problem description
If a large file is open in an atom editor window and it is reloaded for whatever reason, it will block the entire editor. This will happen for a painfully long time.
Very often I will have a large JSON file open and for one reason or another it will be reloaded, typically caused by a fs change, and the entire browser will be blocked for what is often a minute or more.
Today I finally performed a profile of the issue and nailed down the cause.
![Profiling Result](https://camo.githubusercontent.com/7def7f11189b2ecf2819395e4f26e04b56f8fd236293883541688df861100c73/687474703a2f2f692e696d6775722e636f6d2f656945493835562e706e67)
Here is the result for the reload of a relatively medium sized file (only ~6000 lines).
Suggested changes
Short term
Give the user the option to diff the file or simply forego the ability to undo the reload if the file is large.
Long term
Somehow preserve undo-ability for massive files
Execution
Let me know if you like the sound of the short term solution, I'd be happy to implement it ASAP
The text was updated successfully, but these errors were encountered: