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
PHP: Improve the performance for Go to Declaration #6712
PHP: Improve the performance for Go to Declaration #6712
Conversation
junichi11
commented
Nov 17, 2023
- Request to fix editor frozen issue to improve the performance of〈Go to Declaration〉feature #3933
- PHP: Ctrl + hover - freezing Netbeans (go to declaration) #6634
- Don't add empty type names to avoid getting types from an index using them
- apache#3933 - apache#6634 - Don't add empty type names to avoid getting types from an index using them
I'm not sure if you don't write what you are doing exactly. (I can't reproduce it.) |
|
Nevermind, after going into options NetBeans did some PHP initialization and it's working now. |
I keep using the dev build throughout the day and I just noticed a red icon on my status bar. I don't know when it occured and if it's related to the PR, but I'll paste my IDE log here. The exception appears a few times in the log. IDE log
|
@terax6669 It's not related to this. So, could you report it as a new issue? (But it's strange... NPE should not occur there...) |
Several unexpected exceptions can happen sooner or later when using the dev builds of NetBeans. From time to time, it could be a good idea to (a) download a fresh build of NetBeans from the website and/or (b) clean (delete) the userdir (please note that you will lose your configuration, so using configuration export and import might be useful). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Harmless checks, I would say.
@tmysik Thank you for your review! I'll wait a little while because someone else might test it with the dev version. |
@junichi11 Sure, up to you, of course 👍 |
@junichi11 I'm testing it with a project containing 50k+ PHP classes, the navigation is instantaneous, brilliant! I haven't seen any issues with it so far. If there's still a chance to squeeze this into NB20, I'd say go for it, the improvement is too large to ignore 😁 Thanks for all the hard work! |
@junichi11 Today I was using dev build with this patch for regular development, cache was cleared before starting. @czukowski Unless some critical bug is found in 20-rc4, no more changes will be merged. |
@terax6669 @czukowski @KacerCZ Thank you for testing it!
Great to hear!
Unfortunately, we cannot merge this into NB20. (I wish I could have fixed it sooner, but it was too late.) |
I guess I'll hold onto this dev build then, for the time being 😊 |
On windows 11 with medium-large sized projects For me the indexing process seems to be a little slower (maybe as a dev build the application doesn't use all the processor threads ? or something has changed on nb 20 compared to nb 19). I don't think the slowness is related to the fix, but I would have to wait for the release of netbeans 20 to compare with it. |
Thank you, guys! Merging. |
Can a nb21 module be copied into nb20 install, is the API compatible/standardized? |
NB21 is the next release version. Please use it as it is without copying it into NB20 when NB21 is released. |
I know. My question is if the (fixed) nb21 php module from nightly build can be used with regular nb20 install. |
I'm not sure whether it works correctly. If you want to do it, please do it at your own risk. |
In short - it should not work (once a release is done, all module versions and dependencies are increased, typically). However, as @junichi11 wrote, you should be able to download the fresh dev build, that now contains just a minimum changes in comparison to the latest release (yes, I noticed the bug you just reported). Please note that the auto-update in dev builds can be broken; this is expected and if this happens to you, simply download a new, fresh build, it should work. |