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

Call ctags asynchronous #10

Open
kvaellning opened this issue Jul 4, 2017 · 4 comments
Open

Call ctags asynchronous #10

kvaellning opened this issue Jul 4, 2017 · 4 comments

Comments

@kvaellning
Copy link

I write the issue here hoping that it will also be fixed somehow in symbols-tree-view.

Problem:
If you are opening a large file with a lot of tags, ctags (or the generation of the tags) is going to be REALLY slow. I think calling the process asynchronous might solve the problem.

I would solve the problem by myself but don't see that I can do it in less than four to eight weeks since I don't have the time, so any help is appreciated. If nothing is happening, I will try to implement this asap.

@nicolashainaux
Copy link
Owner

Same problem of time + I don't know much of coffee script and atom package writing.
If you find the time for a solution and pull a request, I won't take too long to include and publish it.

@kvaellning
Copy link
Author

Will do my best, expect to have something at around mid/end of august. Let's see.

@kvaellning
Copy link
Author

kvaellning commented Aug 19, 2017

So, I investigated a little bit on this topic:
It's not ctags which takes "forever", but the TagParser.

@parse should be implemented asynchronous (however this is possible, I have no idea how to make multi-threading in JS or CS).

@kvaellning
Copy link
Author

Okay, a last word on this topic for today:
There are two calls which take a lot of time:

  1. creation of TreeNode takes a lot of time if a file with a lot of variables is loaded
  2. setting root.append also increases the time a lot

In an example with ~4000 variables in one scope, setRoot takes 4 to 8 seconds.

Have to investigate this further some time.

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

No branches or pull requests

2 participants