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

Improve language server performance #1206

Merged
merged 4 commits into from
Apr 25, 2019
Merged

Conversation

trevor-scheer
Copy link
Member

@trevor-scheer trevor-scheer commented Apr 24, 2019

The purpose of this PR is to gain a quick performance win in the language server / VS code extension by debouncing and caching a few hot code paths. There may be some better caching wins if we dig deeper into these functions, but for now this is a simple approach that should reduce excessive CPU usage.

TODO:

  • Update CHANGELOG.md* with your change (include reference to issue & this PR)
  • Make sure all of the significant new logic is covered by tests
  • Rebase your changes on master so that they can be merged easily
  • Make sure all tests and linter rules pass

*Make sure changelog entries note which project(s) has been affected. See older entries for examples on what this looks like.

@trevor-scheer trevor-scheer force-pushed the trevor/language-server-perf branch from af56241 to a867f60 Compare April 25, 2019 20:29
@trevor-scheer trevor-scheer merged commit 66aea43 into master Apr 25, 2019
@trevor-scheer trevor-scheer deleted the trevor/language-server-perf branch April 25, 2019 20:43
trevor-scheer added a commit that referenced this pull request May 8, 2019
* chore(deps): pin dependency @types/glob to 7.1.1 (#1145)

* Add gql to default config in apollo-language-server (#1176)

Add .gql file extension do default config `includes` glob

Fixes #1128

* Improve language server performance (#1206)

Add caching and debouncing to hot code paths (changing documents)

* Publish

 - [email protected]
 - [email protected]
 - [email protected]
 - [email protected]
 - [email protected]
 - [email protected]
 - [email protected]
 - [email protected]

* Update changelog for publish

* chore(deps): pin dependency @types/lodash.debounce to 4.0.6 (#1208)

* chore(deps): update dependency @babel/types (#1215)

* chore(deps): update dependency @types/node-fetch to v2.3.3 (#1216)

* chore(deps): update dependency @babel/generator to v7.4.4 (#1217)

* chore(deps): update dependency typescript to v3.4.5 (#1220)

* chore(deps): update dependency @types/node to v8.10.47 (#1218)

* chore(deps): update dependency lerna to v3.13.4 (#1219)

* Update deprecated field usage (#1209)

* Update deprecated field usage

* Strongly type testing fixture to tie it to the shape of the result as the schema changes

* chore(deps): update dependency husky to v2 (#1222)

* chore(deps): update dependency @types/listr to v0.14.0 (#1234)

* chore(deps): update dependency husky to v2.2.0 (#1229)

* chore(deps): update dependency @types/jest to v24.0.12 (#1227)

* chore(deps): update dependency @types/node to v8.10.48 (#1228)

* chore(deps): update dependency lint-staged to v8.1.6 (#1230)

* chore(deps): update dependency symlink-dir to v3.0.3 (#1235)

* chore(deps): update dependency jest-environment-node to v24.8.0 (#1236)

* chore(deps): update dependency jest-matcher-utils to v24.8.0 (#1233)

* Add ability to download schema to file (#1108)

* Add ability to download schema for clients using the `download-schema` command
* use chalk for better error messaging

* Publish

 - [email protected]
 - [email protected]
 - [email protected]
 - [email protected]
 - [email protected]
 - [email protected]
 - [email protected]
 - [email protected]

* Update changelog for 2.10.0 release

* chore(deps): update dependency dotenv to v8 (#1237)

* Update README.md (#1242)

* Add service:push debuggability (#1244)

Leverage oclif debug logger to add visibility into variables
sent to Engine during service:push.

* Publish

 - [email protected]
 - [email protected]
 - [email protected]
 - [email protected]
 - [email protected]
 - [email protected]
 - [email protected]
 - [email protected]

* Update changelog for publish

* Debug log before the call out to Engine (#1245)

* Publish

 - [email protected]

* chore(deps): update dependency apollo-datasource to ^0.4.0 (#1246)
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.

1 participant