-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Increase print/visit performance #4312
base: 16.x.x
Are you sure you want to change the base?
Conversation
Hi @JoviDeCroock, I'm @github-actions bot happy to help you with this PR 👋 Supported commandsPlease post this commands in separate comments and only one per comment:
|
3b56584
to
354a64a
Compare
Co-Authored-By: Benjie <[email protected]>
354a64a
to
e53c6ce
Compare
This comment has been minimized.
This comment has been minimized.
Benchmark output
🍳 Preparing HEAD... HEAD�[90m x �[0m�[32m43.44�[0m ops/sec �[90m±�[0m�[32m1.83�[0m�[36m%�[0m�[90m x �[0m2.18 MB/op�[90m (8 runs sampled)�[0m ⏱ Build Schema from Introspection HEAD�[90m x �[0m�[32m52.31�[0m ops/sec �[90m±�[0m�[32m0.91�[0m�[36m%�[0m�[90m x �[0m1.12 MB/op�[90m (11 runs sampled)�[0m ⏱ Execute Introspection Query �[32mHEAD�[0m�[90m x �[0m�[32m50.54�[0m ops/sec �[90m±�[0m�[32m1.20�[0m�[36m%�[0m�[90m x �[0m2.49 MB/op�[90m (8 runs sampled)�[0m ⏱ Parse introspection query �[32mHEAD�[0m�[90m x �[0m�[32m13,609�[0m ops/sec �[90m±�[0m�[32m0.13�[0m�[36m%�[0m�[90m x �[0m2.62 KB/op�[90m (35 runs sampled)�[0m ⏱ Print kitchen sink document �[32mHEAD�[0m�[90m x �[0m�[32m9,290�[0m ops/sec �[90m±�[0m�[32m0.21�[0m�[36m%�[0m�[90m x �[0m1.51 KB/op�[90m (24 runs sampled)�[0m ⏱ Many repeated fields HEAD�[90m x �[0m�[32m 99.2�[0m ops/sec �[90m±�[0m�[32m0.25�[0m�[36m%�[0m�[90m x �[0m525 KB/op�[90m (20 runs sampled)�[0m ⏱ Validate Introspection Query HEAD�[90m x �[0m�[32m562�[0m ops/sec �[90m±�[0m�[32m0.22�[0m�[36m%�[0m�[90m x �[0m270 KB/op�[90m (14 runs sampled)�[0m ⏱ Validate Invalid Query HEAD�[90m x �[0m�[32m505�[0m ops/sec �[90m±�[0m�[32m0.30�[0m�[36m%�[0m�[90m x �[0m326 KB/op�[90m (14 runs sampled)�[0m ⏱ Validate SDL Document HEAD�[90m x �[0m�[32m67.44�[0m ops/sec �[90m±�[0m�[32m0.92�[0m�[36m%�[0m�[90m x �[0m203 KB/op�[90m (11 runs sampled)�[0m ⏱ Visit all AST nodes HEAD�[90m x �[0m�[32m308�[0m ops/sec �[90m±�[0m�[33m3.86�[0m�[36m%�[0m�[90m x �[0m311 KB/op�[90m (19 runs sampled)�[0m ⏱ Visit all AST nodes in parallel HEAD�[90m x �[0m�[32m28.9�[0m ops/sec �[90m±�[0m�[32m0.50�[0m�[36m%�[0m�[90m x �[0m1.23 MB/op�[90m (7 runs sampled)�[0m |
This replaces our expensive method that changes the underlying V8 shape multiple times with a loop that preserves the identity as much as possible.