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

Picker is slow when used with many thousand elements #20136

Closed
Wosi opened this issue Feb 7, 2017 · 6 comments
Closed

Picker is slow when used with many thousand elements #20136

Wosi opened this issue Feb 7, 2017 · 6 comments
Assignees
Labels
bug Issue identified by VS Code Team member as probable bug *out-of-scope Posted issue is not in scope of VS Code perf quick-pick Quick-pick widget issues

Comments

@Wosi
Copy link

Wosi commented Feb 7, 2017

  • VSCode Version: 1.9.0
  • OS Version: Windows 7, Windows 10

Steps to Reproduce:

  1. Call showQuickPick() with the items from here
  2. Type "test" letter by letter. You'll see the slow responding quick picker. The code completion box responds much faster working on the same data.

Here a sample how it looks like:
slowquickpick

@bpasero
Copy link
Member

bpasero commented Feb 7, 2017

Two reasons: we use the list widget for IntelliSense which is super fast and does not have high update cost when updating the tree. Second, quick open actually limits the number of results to some value, at least for file search.

CPU trace attached:
CPU-20170207T183917.cpuprofile.zip

@bpasero bpasero added the perf label Feb 8, 2017
@bpasero bpasero changed the title QuickPicker is much slower than code completion Picker is slow when used with many thousand elements Feb 8, 2017
@bpasero bpasero added this to the Backlog milestone Feb 8, 2017
@bpasero bpasero added workbench bug Issue identified by VS Code Team member as probable bug labels Apr 7, 2017
@bpasero
Copy link
Member

bpasero commented Sep 29, 2017

The original slowness is no longer there (the one from the tree), when I now test it with 10000 elements the majority of time is spend in QuickOpenModel.compare() where we check if a element is a match for a given search string.

So bottom line, switching to the list widget as we do in IntelliSense will not yield much better results imho.

@bpasero bpasero added quick-pick Quick-pick widget issues and removed workbench labels Nov 15, 2017
@bpasero bpasero assigned isidorn and unassigned bpasero Nov 15, 2017
@bpasero bpasero removed this from the Backlog milestone Nov 15, 2017
@bpasero
Copy link
Member

bpasero commented Nov 15, 2017

@isidorn this might be resolved if we switch to using a list for quick pick.

@isidorn
Copy link
Contributor

isidorn commented May 11, 2018

Closing as duplicate of using a list for quick pick. Till then this is just a consequence of us using a tree which we do not plan to change afaik
fyi @chrmarti

@chrmarti
Copy link
Contributor

Most time is spent comparing entries.

@chrmarti chrmarti reopened this May 11, 2018
@chrmarti chrmarti assigned chrmarti and unassigned isidorn May 11, 2018
@chrmarti chrmarti added the *out-of-scope Posted issue is not in scope of VS Code label Oct 31, 2019
@vscodebot
Copy link

vscodebot bot commented Oct 31, 2019

We closed this issue because we don't plan to address it in the foreseeable future. You can find more detailed information about our decision-making process here. If you disagree and feel that this issue is crucial: We are happy to listen and to reconsider.

If you wonder what we are up to, please see our roadmap and issue reporting guidelines.

Thanks for your understanding and happy coding!

@vscodebot vscodebot bot closed this as completed Oct 31, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Issue identified by VS Code Team member as probable bug *out-of-scope Posted issue is not in scope of VS Code perf quick-pick Quick-pick widget issues
Projects
None yet
Development

No branches or pull requests

4 participants