tailcallhq / tailcall

High Performance GraphQL Runtime
https://tailcall.run
Apache License 2.0
1.3k stars 257 forks source link

perf: fix thread contention problem #3085

Closed laststylebender14 closed 4 days ago

laststylebender14 commented 1 month ago

Summary:
Briefly describe the changes made in this PR.

Issue Reference(s):
Fixes #... (Replace "..." with the issue number)

Build & Testing:

Checklist:

codecov[bot] commented 1 month ago

Codecov Report

Attention: Patch coverage is 75.71429% with 17 lines in your changes missing coverage. Please review.

Project coverage is 87.22%. Comparing base (2c67ac5) to head (571ae20).

Files with missing lines Patch % Lines
src/core/http/request_handler.rs 75.67% 9 Missing :warning:
src/core/async_graphql_hyper.rs 20.00% 8 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #3085 +/- ## ========================================== - Coverage 87.22% 87.22% -0.01% ========================================== Files 280 280 Lines 27425 27436 +11 ========================================== + Hits 23921 23930 +9 - Misses 3504 3506 +2 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

github-actions[bot] commented 1 month ago

🐰 Bencher Report

Branch3085/merge
Testbedbenchmarking-runner

⚠️ WARNING: The following Measure does not have a Threshold. Without a Threshold, no Alerts will ever be generated!

Click here to create a new Threshold
For more information, see the Threshold documentation.
To only post results if a Threshold exists, set the --ci-only-thresholds CLI flag.

Click to view all benchmark results
BenchmarkLatencynanoseconds (ns)
from_json_bench📈 view plot
⚠️ NO THRESHOLD
6,337,100.00
group_by📈 view plot
⚠️ NO THRESHOLD
476.86
input/args.missing📈 view plot
⚠️ NO THRESHOLD
22.71
input/args.nested.existing📈 view plot
⚠️ NO THRESHOLD
42.11
input/args.nested.missing📈 view plot
⚠️ NO THRESHOLD
36.31
input/args.root📈 view plot
⚠️ NO THRESHOLD
38.03
input/headers.existing📈 view plot
⚠️ NO THRESHOLD
32.70
input/headers.missing📈 view plot
⚠️ NO THRESHOLD
31.73
input/value.missing📈 view plot
⚠️ NO THRESHOLD
22.75
input/value.nested.existing📈 view plot
⚠️ NO THRESHOLD
42.29
input/value.nested.missing📈 view plot
⚠️ NO THRESHOLD
35.73
input/value.root📈 view plot
⚠️ NO THRESHOLD
39.67
input/vars.existing📈 view plot
⚠️ NO THRESHOLD
8.69
input/vars.missing📈 view plot
⚠️ NO THRESHOLD
11.45
synth_nested📈 view plot
⚠️ NO THRESHOLD
94,616.00
synth_nested_borrow📈 view plot
⚠️ NO THRESHOLD
41,513.00
test_batched_body📈 view plot
⚠️ NO THRESHOLD
1,887.10
test_batched_body #2📈 view plot
⚠️ NO THRESHOLD
1,495,500.00
test_data_loader📈 view plot
⚠️ NO THRESHOLD
392,560.00
test_handle_request📈 view plot
⚠️ NO THRESHOLD
130,760.00
test_handle_request_jit📈 view plot
⚠️ NO THRESHOLD
62,010.00
test_http_execute_method📈 view plot
⚠️ NO THRESHOLD
15,039.00
with_mustache_expressions📈 view plot
⚠️ NO THRESHOLD
1,081.50
with_mustache_literal📈 view plot
⚠️ NO THRESHOLD
688.60
🐰 View full continuous benchmarking report in Bencher
github-actions[bot] commented 1 week ago

Action required: PR inactive for 5 days. Status update or closure in 10 days.

laststylebender14 commented 4 days ago

closing this as using lock free data structures didn't solve the actual problem.