Skip to content

Delay load configured project referenced from external project when opening it #25884

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

Merged
merged 3 commits into from
Aug 17, 2018

Conversation

sheetalkamat
Copy link
Member

@sheetalkamat sheetalkamat commented Jul 24, 2018

With this change Configured projects that are part of external project, are just is just created but reading the config file and creating program based on the root files is postponed to when needed.
To delay loading for config file and program the changes included are:

  1. Delay actual loading of configured project that gets created as part of open external project
  2. On compileOnSaveAffectedFileList do not load all projects if the project to get list on affected file list is specified
  3. During synchronizeProjectList send file names as empty list for configured projects that aren't loaded yet.

@sheetalkamat sheetalkamat changed the title Delay update graph when opening external project, and delay load configured project referenced from external project when opening it Delay load configured project referenced from external project when opening it Jul 25, 2018
@sheetalkamat sheetalkamat changed the title Delay load configured project referenced from external project when opening it [WIP] Delay load configured project referenced from external project when opening it Jul 25, 2018
@sheetalkamat sheetalkamat force-pushed the optimizeOpenExternalProject branch from 4716d31 to 8c5ae9b Compare August 1, 2018 22:47
…igured project referenced from external project when opening it
Since external projects are needed to be uptodate when opening file,
so in most likely scenarios these will be loaded anyways so there is no saving in postponing this work
…ynchronizeProjectList for project opened by external project
@sheetalkamat sheetalkamat force-pushed the optimizeOpenExternalProject branch from 8c5ae9b to f67bdd4 Compare August 6, 2018 23:24
@sheetalkamat
Copy link
Member Author

@RyanCavanaugh this is the PR that does lazy loading of configured projects as discussed offline.

const data: ProjectInfoTelemetryEventData = {
projectId: this.host.createSHA256Hash(projectKey),
projectId: this.host.createSHA256Hash(project.projectName),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@amcasey is this OK?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since projects are not 1:1 with users or devices and the hash function is cryptographically secure, I understand that this is okay.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that this isnt a real change since project key was project.projectName (configFile name for configured projects and external project name ) so this is just instead of passing it through the calls uses it directly through the key, hence no changes in the tests as well.

@RyanCavanaugh
Copy link
Member

Overall LGTM; just had a GDPR compliance check

@sheetalkamat sheetalkamat changed the title [WIP] Delay load configured project referenced from external project when opening it Delay load configured project referenced from external project when opening it Aug 17, 2018
@sheetalkamat sheetalkamat merged commit 0f97620 into master Aug 17, 2018
@sheetalkamat sheetalkamat deleted the optimizeOpenExternalProject branch August 17, 2018 19:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants