-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
Real time search #21348
Real time search #21348
Conversation
Changed the action to initiate search to be keypress. Changed ReadyChunk size 1024 -> 4. However this slows down the editor. Possible solution includes implementing some sort of dynamic ReadyChunk that doubles in size. Changing the operation to O(n) -> O(logn)
We require contributors to sign our Contributor License Agreement, and we don't have @JaLnYn on file. You can sign our CLA at https://zed.dev/cla. Once you've signed, post a comment here that says '@cla-bot check'. |
@cla-bot check |
The cla-bot has been summoned, and re-checked this pull request! |
This is too generic to be actionable. Also, I feel that before solving all this does not make any sense. |
I'm not sure how to capture traces. Is there instructions on this? #20436 seems to be the same issue I'm having where I have stuttering when the list is updating. Some observations: This would seem to suggest its something to do with rendering or loading the matches. Theres no error messages except for
|
In this case I will close the PR, sorry, but the complexity of this issue is not in throwing some code together, but in the perf analysis and fixes. Related to trace capturing, here's a brief instruction I've composed for macOS: #19022 (comment) For Linux, I'd start with
I think it's even worse, this is more related to the fact that Zed opens and reads each file entirely + starts an LSP server (or reports the file being open, which triggers diagnostics pushing, analysis, etc.) for every new file that had a search hit registered. |
Changed the action to initiate search to be keypress. Changed ReadyChunk size 1024 -> 4. However this slows down the editor. I'm looking for suggestions on how to proceed.
Possible solution includes implementing some sort of dynamic ReadyChunk that doubles in size. Changing the operation to O(n) -> O(logn)
There also doesn't seem to be caching or optimization for subsequent searches based on previous results.
Can implement some sort of search state?
Nucelo library could potentially solve this (and potentially increase the speed of your current searches)
Closes parts of #8279