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

Performance Improvements (Small fixes) #7769

Merged
merged 9 commits into from
Oct 22, 2024
Merged

Performance Improvements (Small fixes) #7769

merged 9 commits into from
Oct 22, 2024

Conversation

ardatan
Copy link
Owner

@ardatan ardatan commented Oct 14, 2024

JIT Plugin and Flag

Add --jit CLI option and jit configuration option to enable JIT compilation for better
performance

Powered by GraphQL JIT

Cleanup extra bundler options, and add WS & HTTP Callbacks transport to the base bundle

So ws and http-callback transports are available without adding them to the image and or binary

Copy link
Contributor

github-actions bot commented Oct 14, 2024

Apollo Federation Subgraph Compatibility Results

Federation 1 Support Federation 2 Support
_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🟢
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🟢
@interfaceObject🟢

Learn more:

Copy link
Contributor

github-actions bot commented Oct 14, 2024

The build artifacts of mesh-serve as a single executable for Linux-X64 are available at:
Download

Copy link
Contributor

github-actions bot commented Oct 14, 2024

💻 Website Preview

The latest changes are available as preview in: https://bcabc22a.graphql-mesh.pages.dev

Copy link
Contributor

github-actions bot commented Oct 14, 2024

The build artifacts of mesh-serve as a single executable for macOS-ARM64 are available at:
Download

Copy link
Contributor

github-actions bot commented Oct 14, 2024

The build artifacts of mesh-serve as a single executable for macOS-X64 are available at:
Download

@ardatan ardatan marked this pull request as draft October 14, 2024 13:14
Copy link
Contributor

github-actions bot commented Oct 14, 2024

🚀 Snapshot Release (alpha)

The latest changes of this PR are available as alpha on npm (based on the declared changesets):

Package Version Info
@graphql-mesh/cache-cfw-kv 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/cache-file 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/cache-localforage 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/cache-redis 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/compose-cli 1.1.2-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/fusion-composition 0.6.2-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/fusion-runtime 0.9.2-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-hive/gateway 1.3.0-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/apollo-link 0.103.9-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/cli 0.96.7-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/config 0.104.9-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/graphql 0.102.9-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/grpc 0.104.9-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/json-schema 0.107.2-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/mongoose 0.102.9-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/mysql 0.103.9-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/neo4j 0.103.9-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/odata 0.104.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/openapi 0.107.2-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/postgraphile 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/raml 0.107.2-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/soap 0.104.9-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/supergraph 0.8.9-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/thrift 0.104.10-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/tuql 0.103.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/http 0.103.9-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/merger-bare 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/merger-federation 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/merger-stitching 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/migrate-config-cli 1.1.2-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/runtime 0.103.9-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/store 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/transform-cache 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/transform-encapsulate 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/transform-extend 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/transform-federation 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/transform-filter-schema 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/transform-hive 0.102.10-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/transform-hoist-field 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/transform-naming-convention 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/transform-prefix 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/transform-prune 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/transform-rate-limit 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/transform-rename 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/transform-replace-field 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/transform-resolvers-composition 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/transform-transfer-schema 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/transform-type-merging 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/types 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/urql-exchange 0.103.9-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/utils 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@omnigraph/json-schema 0.107.2-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@omnigraph/mysql 0.7.9-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@omnigraph/neo4j 0.7.9-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@omnigraph/odata 0.0.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@omnigraph/openapi 0.107.2-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@omnigraph/raml 0.107.2-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@omnigraph/soap 0.104.9-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@omnigraph/sqlite 0.6.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@omnigraph/thrift 0.7.10-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/plugin-deduplicate-request 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/plugin-hive 0.102.10-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/hmac-upstream-signature 1.1.2-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/plugin-http-cache 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/plugin-http-details-extensions 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/plugin-jit 0.0.1-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/plugin-jwt-auth 1.1.2-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/plugin-live-query 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/plugin-mock 0.102.9-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/plugin-newrelic 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/plugin-opentelemetry 1.2.1-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/plugin-operation-field-permissions 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/plugin-operation-headers 1.1.2-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/plugin-prometheus 1.1.2-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/plugin-rate-limit 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/plugin-response-cache 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/plugin-snapshot 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/plugin-statsd 0.102.8-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/serve-cli 1.3.0-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/serve-runtime 1.1.2-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/transport-common 0.7.9-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/transport-http 0.6.9-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/transport-http-callback 0.4.3-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/transport-mysql 0.7.9-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/transport-neo4j 0.7.9-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/transport-odata 0.0.9-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/transport-rest 0.7.9-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/transport-soap 0.7.9-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/transport-sqlite 0.7.3-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/transport-thrift 0.7.9-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎
@graphql-mesh/transport-ws 0.3.9-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6 npm ↗︎ unpkg ↗︎

Copy link
Contributor

github-actions bot commented Oct 14, 2024

The build artifacts of mesh-serve as a single executable for Windows-X64 are available at:
Download

Copy link
Contributor

github-actions bot commented Oct 14, 2024

Published mesh-serve images for this PR are available at:

ghcr.io/ardatan/mesh-serve:1.3.0-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6

Copy link
Contributor

github-actions bot commented Oct 14, 2024

Published hive-gateway images for this PR are available at:

ghcr.io/ardatan/hive-gateway:1.3.0-alpha-20241022094319-12e1a3f935b807afb24021f594d4d5c09594a3e6

@ardatan ardatan force-pushed the add-jit-option branch 4 times, most recently from 9e0b5d7 to 27ccbb4 Compare October 21, 2024 11:06
ardatan and others added 6 commits October 22, 2024 12:22
chore(dependencies): updated changesets for modified dependencies

JIT environment variable

Do not release bin until release is done

chore(dependencies): updated changesets for modified dependencies

JIT configuration

Include JIT to the bundle

No need to bundle explicitly

JIT env var

Bump tools

Fix PR workflow

chore(dependencies): updated changesets for modified dependencies

Bump tools

chore(dependencies): updated changesets for modified dependencies

Bump Tools

chore(dependencies): updated changesets for modified dependencies

Relax CPU

New Plugin
@ardatan ardatan changed the title feat(serve): JIT Performance Improvements Oct 22, 2024
@ardatan ardatan changed the title Performance Improvements Performance Improvements (Small fixes) Oct 22, 2024
@ardatan ardatan marked this pull request as ready for review October 22, 2024 09:40
@ardatan ardatan merged commit 518c42c into master Oct 22, 2024
11 checks passed
@ardatan ardatan deleted the add-jit-option branch October 22, 2024 09:40
ardatan added a commit that referenced this pull request Nov 20, 2024
* feat(serve): JIT

chore(dependencies): updated changesets for modified dependencies

JIT environment variable

Do not release bin until release is done

chore(dependencies): updated changesets for modified dependencies

JIT configuration

Include JIT to the bundle

No need to bundle explicitly

JIT env var

Bump tools

Fix PR workflow

chore(dependencies): updated changesets for modified dependencies

Bump tools

chore(dependencies): updated changesets for modified dependencies

Bump Tools

chore(dependencies): updated changesets for modified dependencies

Relax CPU

New Plugin

* chore(dependencies): updated changesets for modified dependencies

* Better naming for loadtests

* Back to most cpus

* Bring back

* Bump graphql-jit

* chore(dependencies): updated changesets for modified dependencies

* Yarn.lock

* Patch for testing

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
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