-
-
Notifications
You must be signed in to change notification settings - Fork 512
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
Slow pandas completion #520
Comments
Thanks for the report! |
Any update? I came across the same issue with Pandas 0.16.0 + MacOSX 10.10 |
@FrankFeng YouCompleteMe uses Jedi with an async client/server model. This obviously makes it "fast", but some things will not complete. @tomsheep Not really. I don't really spend a lot of time on Jedi at the moment, sorry. |
Still that bad with the current dev branch? |
I finally had time to understand what the problem was here. I brought this example down from a few seconds to 0.02s. The slowest thing ( The changes are kind of a "PyCharm mode". I just disabled a lot of dynamic features for pandas that are problematic, like decorators and parameter resolving ( Feel free to test already on master, before release. Further improvements might happen for #1116 and to be really fast we might eventually need to do #1059. |
I'm getting significant lag in emacs (company-mode with anaconda backend), while completions seem to break entirely with vim (YouCompleteMe) where it won't complete anything anymore for a long, long time when using pandas 0.15.1. Here is some example code:
It is at this point where lag in emacs becomes unbearable, while vim will happily continue to work, but all completions from YouCompleteMe will not work anymore (including completions for a different library).
Now, it seems the issue is that the getting the completion candidates is a costly affair in jedi itself:
Which gives me:
A similar timeit operation on os.path. completion gives me 9 ms, so it seems to me like that might be the source of the problem.
The text was updated successfully, but these errors were encountered: