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

Configuration resolution seems at least square in number of language? overrides #179369

Open
mueheg opened this issue Apr 6, 2023 · 1 comment
Assignees
Labels
config VS Code configuration, set up issues perf

Comments

@mueheg
Copy link
Contributor

mueheg commented Apr 6, 2023

nb: I can't reopen #168869 but it still reproduces exactly as outlined in my original report.

Does this issue occur when all extensions are disabled?: Yes

  • VS Code Version: 1.77.1
  • OS Version: vscode.dev

Steps to Reproduce:

Open settings.json
Paste a large number of per language overrides, for instance generated by running this JS snippet:

let overrides='';
for (let i = 0; i<500; ++i) { 
  overrides+= `    "[julia${i}]": { "editor.defaultFormatter": "vscode.typescript-language-features" },`;
}

paste contents of overrides into settings.json

At a very first glance, it looks like the code starting from https://github.com/microsoft/vscode/blob/main/src/vs/platform/configuration/common/configurationModels.ts#L697 is at least square in the number of overrides.

I put a counter in the code and with ~130 overrides I see getContentsForOverrideIdentifer being invoked 150000 times when I load settings / switch between user and workspace within the settings UI.

@rzhao271 rzhao271 assigned sandy081 and rzhao271 and unassigned rzhao271 Apr 6, 2023
@sandy081 sandy081 added the config VS Code configuration, set up issues label Apr 12, 2023
@sandy081 sandy081 added this to the April 2023 milestone Apr 12, 2023
@sandy081
Copy link
Member

Assigning to current milestone for investigation

@rzhao271 rzhao271 modified the milestones: April 2023, May 2023 Apr 21, 2023
@rzhao271 rzhao271 modified the milestones: May 2023, June 2023 May 25, 2023
@rzhao271 rzhao271 added the perf label Jun 23, 2023
@sandy081 sandy081 modified the milestones: June 2023, July 2023 Jun 26, 2023
@rzhao271 rzhao271 modified the milestones: July 2023, August 2023 Jul 21, 2023
@rzhao271 rzhao271 removed their assignment Aug 25, 2023
@sandy081 sandy081 modified the milestones: August 2023, September 2023 Aug 28, 2023
@sandy081 sandy081 modified the milestones: September 2023, October 2023 Sep 25, 2023
@sandy081 sandy081 removed this from the October 2023 milestone Oct 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
config VS Code configuration, set up issues perf
Projects
None yet
Development

No branches or pull requests

4 participants