tailcallhq / tailcall

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

perf: synth clean up #3059

Closed laststylebender14 closed 1 month 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

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 87.35%. Comparing base (9292577) to head (c63b7bd). Report is 1 commits behind head on main.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #3059 +/- ## ========================================== - Coverage 87.37% 87.35% -0.02% ========================================== Files 275 275 Lines 27165 27171 +6 ========================================== Hits 23735 23735 - Misses 3430 3436 +6 ```

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

laststylebender14 commented 1 month ago

Before

Running 30s test @ http://localhost:8000/graphql

4 threads and 100 connections

Thread Stats Avg Stdev Max +/- Stdev
Latency 8.78ms 4.24ms 147.70ms 95.42%
Req/Sec 2.91k 421.56 4.09k 80.17%

347691 requests in 30.02s, 1.74GB read

Requests/sec: 11582.24

Transfer/sec: 59.45MB

After

Running 30s test @ http://localhost:8000/graphql

4 threads and 100 connections

Thread Stats Avg Stdev Max +/- Stdev
Latency 8.48ms 3.71ms 117.83ms 90.40%
Req/Sec 3.00k 390.17 4.14k 77.50%

358629 requests in 30.01s, 1.80GB read

Requests/sec: 11949.56

Transfer/sec: 61.33MB

github-actions[bot] commented 1 month ago

🐰 Bencher Report

Branch3059/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,278,600.00
group_by📈 view plot
⚠️ NO THRESHOLD
489.15
input/args.missing📈 view plot
⚠️ NO THRESHOLD
22.79
input/args.nested.existing📈 view plot
⚠️ NO THRESHOLD
44.18
input/args.nested.missing📈 view plot
⚠️ NO THRESHOLD
37.32
input/args.root📈 view plot
⚠️ NO THRESHOLD
39.36
input/headers.existing📈 view plot
⚠️ NO THRESHOLD
32.24
input/headers.missing📈 view plot
⚠️ NO THRESHOLD
31.87
input/value.missing📈 view plot
⚠️ NO THRESHOLD
23.61
input/value.nested.existing📈 view plot
⚠️ NO THRESHOLD
42.66
input/value.nested.missing📈 view plot
⚠️ NO THRESHOLD
37.72
input/value.root📈 view plot
⚠️ NO THRESHOLD
40.86
input/vars.existing📈 view plot
⚠️ NO THRESHOLD
8.39
input/vars.missing📈 view plot
⚠️ NO THRESHOLD
8.42
synth_nested📈 view plot
⚠️ NO THRESHOLD
97,534.00
synth_nested_borrow📈 view plot
⚠️ NO THRESHOLD
46,433.00
test_batched_body📈 view plot
⚠️ NO THRESHOLD
1,886.50
test_batched_body #2📈 view plot
⚠️ NO THRESHOLD
1,608,700.00
test_data_loader📈 view plot
⚠️ NO THRESHOLD
395,980.00
test_handle_request📈 view plot
⚠️ NO THRESHOLD
130,190.00
test_handle_request_jit📈 view plot
⚠️ NO THRESHOLD
63,355.00
test_http_execute_method📈 view plot
⚠️ NO THRESHOLD
15,082.00
with_mustache_expressions📈 view plot
⚠️ NO THRESHOLD
1,086.10
with_mustache_literal📈 view plot
⚠️ NO THRESHOLD
698.87
🐰 View full continuous benchmarking report in Bencher