Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

large file causes freezing #35

Open
huntertj opened this issue Feb 3, 2017 · 6 comments
Open

large file causes freezing #35

huntertj opened this issue Feb 3, 2017 · 6 comments

Comments

@huntertj
Copy link

huntertj commented Feb 3, 2017

On large package body Atom will freeze on loading a file. If I disable language-plsql (tried 1.5-1.6.2) the file loads fine. Also tested using language-sql and the file loads fine.

@tschf
Copy link
Collaborator

tschf commented Feb 3, 2017

How large is large?

@huntertj
Copy link
Author

My largest is a 1.2MB plsql package, I'll have to test again to see if there is a lower limit.
Is there a good way to get debug output when Atom freezes? I'd love to provide more detailed info.

@tschf
Copy link
Collaborator

tschf commented Feb 16, 2017

I just tried by making a plsql source 2.4MB. I didn't get the unresponsiveness or crash, but got mixed results. In one case, the syntax highlighting didn't get applied; on another, Atom becomes slightly less responsive. Even trying now changing the syntax to SQL, the highlighting isn't applied and it's also gives a slower response.

So, on the issue of this syntax package, I'm guessing the large number of regexes that needs to be parsed starts to become expensive (with a separate rule for each package in the standard library). A better solution may be to streamline that to a generic pattern match when using dot notation on e.g. a package (as per #10).

I was thinking to have separate rule/styling for standard library vs generic calls, but may be better just to have the generic regex - this is what other language syntaxes seem to do from my quick look.
..

re: debug info, I was just looking at a couple of other performance related issues, and some people seem to post the profile, but more broadly, this post may help: http://flight-manual.atom.io/hacking-atom/sections/debugging/

@vincentmorneau
Copy link
Contributor

Atom 1.14 has better support for large files and was released fairly recently. That might be it?

https://github.com/atom/atom/releases/tag/v1.14.0

@huntertj
Copy link
Author

1.14 has the same problem. It doesn't appear to be fully file size, must be complexity. Unfortunately I can't upload the files (govt owned), I'll see if I can replicate with something generic I can provide to test with.

@bgse
Copy link

bgse commented May 14, 2018

Running Atom 1.25 here, not seeing any issue with 1.2MB plsql package (~26k LOC).

Syntax highlighting works, and Atom remains perfectly responsive.

Can't provide file sample either, but if you're still having the issue we could maybe collect and compare some metrics?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants