Skip to content

👷 Do not run codspeed with coverage as it's not tracked#14966

Merged
tiangolo merged 1 commit intomasterfrom
benchmark-no-cov
Feb 22, 2026
Merged

👷 Do not run codspeed with coverage as it's not tracked#14966
tiangolo merged 1 commit intomasterfrom
benchmark-no-cov

Conversation

@tiangolo
Copy link
Member

@tiangolo tiangolo commented Feb 22, 2026

👷 Do not run codspeed with coverage as it's not tracked

This is done as a PR independent from #14965 to clearly isolate the fake "performance improvement" reported in the comment below.

The speed up in this PR is just because it's not running everything through coverage but running it directly, so it doesn't really count.

Performance improvements in previous PRs do count, as the code before and after changes was run through coverage in both cases, so the coverage overhead was the same. In fact, previous performance improvements were probably much higher than estimated, as coverage would account for a lot of the overhead.

This PR is made isolated apart so that it's clear when it's the change in how performance is measured (with and without coverage).

Future improvements will be measured against this new baseline without coverage taking overhead.

@codspeed-hq
Copy link

codspeed-hq bot commented Feb 22, 2026

Merging this PR will improve performance by ×4.1

⚡ 20 improved benchmarks

Performance Changes

Benchmark BASE HEAD Efficiency
test_async_receiving_large_payload 13.8 ms 11.8 ms +16.51%
test_sync_return_model_with_response_model 6.1 ms 2.1 ms ×2.9
test_sync_return_large_dict_with_response_model 7 ms 4.2 ms +68.67%
test_async_return_dict_without_response_model 3.2 ms 1.3 ms ×2.4
test_async_return_large_dict_without_response_model 212.9 ms 51.9 ms ×4.1
test_sync_return_large_model_without_response_model 217.7 ms 55.7 ms ×3.9
test_async_receiving_validated_pydantic_model 5 ms 1.9 ms ×2.7
test_async_return_large_dict_with_response_model 5.6 ms 3.8 ms +47.24%
test_sync_return_large_dict_without_response_model 213.6 ms 52.1 ms ×4.1
test_async_return_model_without_response_model 5 ms 1.9 ms ×2.7
test_sync_receiving_large_payload 14.5 ms 12 ms +20.52%
test_sync_return_dict_with_response_model 6.1 ms 2.1 ms ×2.9
test_async_return_dict_with_response_model 4.8 ms 1.8 ms ×2.7
test_async_return_model_with_response_model 4.9 ms 1.8 ms ×2.7
test_sync_receiving_validated_pydantic_model 6.4 ms 2.3 ms ×2.8
test_sync_return_large_model_with_response_model 7.1 ms 4.2 ms +68.53%
test_sync_return_dict_without_response_model 3.8 ms 1.5 ms ×2.5
test_async_return_large_model_without_response_model 216.8 ms 55.5 ms ×3.9
test_async_return_large_model_with_response_model 5.6 ms 3.8 ms +48.32%
test_sync_return_model_without_response_model 5.5 ms 2 ms ×2.8

Comparing benchmark-no-cov (485ea8f) with master (1cea8f6)1

Open in CodSpeed

Footnotes

  1. No successful run was found on master (c5559a6) during the generation of this report, so 1cea8f6 was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

@tiangolo tiangolo marked this pull request as ready for review February 22, 2026 18:21
@tiangolo tiangolo merged commit 4da264f into master Feb 22, 2026
28 checks passed
@tiangolo tiangolo deleted the benchmark-no-cov branch February 22, 2026 18:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant