swaggest / rest

Web services with OpenAPI and JSON Schema done quick in Go
https://pkg.go.dev/github.com/swaggest/rest
MIT License
362 stars 17 forks source link

Add benchmark and example for manual request loader #79

Closed vearutop closed 2 years ago

github-actions[bot] commented 2 years ago

Lines Of Code

Language Files Lines Code Comments Blanks Complexity Bytes
Go 99 (+1) 6764 (+92) 4909 (+74) 453 (+1) 1402 (+17) 790 (+15) 164.2K (+2.6K)
Go (test) 44 (+1) 4580 (+30) 3515 (+23) 140 (+1) 925 (+6) 120 (+1) 127.4K (+758B)
JSON 3 1326 (+45) 1326 (+45) 0 0 0 54.5K (+2.1K)
YAML 10 707 (+30) 610 (+16) 46 51 (+14) 0 22.4K (+1.1K)
github-actions[bot] commented 2 years ago

Unit Test Coverage

total: (statements) 82.9% changed lines: (statements) 100.00%

Coverage of changed lines | File | Function | Coverage | |------------------------------|-----------------|----------| | Total | | 100.00% | | chirouter/path_decoder.go | | 100.00% | | chirouter/path_decoder.go:11 | PathToURLValues | 100.00% |
Coverage diff with base branch | File | Function | Base Coverage | Current Coverage | |----------------------------------------------------|-----------------|---------------|------------------| | Total | | 82.9% | 82.9% (0.00%) | | github.com/swaggest/rest/chirouter/path_decoder.go | PathToURLValues | 77.8% | 85.7% (+7.90%) |
github-actions[bot] commented 2 years ago

Go API Changes

# summary
Inferred base version: v0.2.28
Suggested version: v0.3.0
codecov[bot] commented 2 years ago

Codecov Report

Merging #79 (f680cb4) into master (6b6c7db) will increase coverage by 0.12%. The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #79      +/-   ##
==========================================
+ Coverage   76.83%   76.96%   +0.12%     
==========================================
  Files          27       27              
  Lines        1386     1385       -1     
==========================================
+ Hits         1065     1066       +1     
+ Misses        207      206       -1     
+ Partials      114      113       -1     
Flag Coverage Δ
unittests 76.96% <100.00%> (+0.12%) :arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
chirouter/path_decoder.go 85.71% <100.00%> (+23.21%) :arrow_up:

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more

github-actions[bot] commented 2 years ago

Benchmark Result

Benchmark diff with base branch ``` name old time/op new time/op delta pkg:github.com/swaggest/rest/jsonschema goos:linux goarch:amd64 RequestValidator_ValidateRequestData-2 1.54µs ± 1% 1.54µs ± 0% ~ (p=1.000 n=4+5) pkg:github.com/swaggest/rest/request goos:linux goarch:amd64 Decoder_Decode-2 844ns ± 1% 858ns ± 2% ~ (p=0.056 n=5+5) DecoderFunc_Decode-2 2.44µs ± 3% 2.49µs ± 1% ~ (p=0.095 n=5+5) Decoder_Decode_json-2 28.0µs ± 2% 29.8µs ± 7% ~ (p=0.095 n=5+5) Decoder_Decode_queryObject-2 5.82µs ± 2% 5.79µs ± 2% ~ (p=0.381 n=5+5) Decoder_Decode_jsonParam-2 2.23µs ± 1% 2.24µs ± 1% ~ (p=0.421 n=5+5) DecoderFactory_SetDecoderFunc-2 1.99µs ± 1% 2.01µs ± 2% ~ (p=0.286 n=5+5) pkg:github.com/swaggest/rest/response/gzip goos:linux goarch:amd64 Middleware-2 14.2µs ± 1% 14.3µs ± 1% ~ (p=0.841 n=5+5) Middleware_control-2 3.82µs ± 3% 3.82µs ± 2% ~ (p=0.841 n=5+5) name old alloc/op new alloc/op delta pkg:github.com/swaggest/rest/jsonschema goos:linux goarch:amd64 RequestValidator_ValidateRequestData-2 2.46kB ± 0% 2.46kB ± 0% ~ (all equal) pkg:github.com/swaggest/rest/request goos:linux goarch:amd64 Decoder_Decode-2 440B ± 0% 440B ± 0% ~ (all equal) DecoderFunc_Decode-2 1.51kB ± 0% 1.51kB ± 0% ~ (all equal) Decoder_Decode_json-2 12.2kB ± 0% 12.2kB ± 0% ~ (all equal) Decoder_Decode_queryObject-2 2.00kB ± 0% 2.00kB ± 0% ~ (all equal) Decoder_Decode_jsonParam-2 736B ± 0% 736B ± 0% ~ (all equal) DecoderFactory_SetDecoderFunc-2 1.02kB ± 0% 1.02kB ± 0% ~ (all equal) pkg:github.com/swaggest/rest/response/gzip goos:linux goarch:amd64 Middleware-2 1.17kB ± 2% 1.16kB ± 2% ~ (p=0.802 n=5+5) Middleware_control-2 11.2kB ± 0% 11.2kB ± 0% ~ (all equal) name old allocs/op new allocs/op delta pkg:github.com/swaggest/rest/jsonschema goos:linux goarch:amd64 RequestValidator_ValidateRequestData-2 8.00 ± 0% 8.00 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/request goos:linux goarch:amd64 Decoder_Decode-2 4.00 ± 0% 4.00 ± 0% ~ (all equal) DecoderFunc_Decode-2 12.0 ± 0% 12.0 ± 0% ~ (all equal) Decoder_Decode_json-2 177 ± 0% 177 ± 0% ~ (all equal) Decoder_Decode_queryObject-2 36.0 ± 0% 36.0 ± 0% ~ (all equal) Decoder_Decode_jsonParam-2 13.0 ± 0% 13.0 ± 0% ~ (all equal) DecoderFactory_SetDecoderFunc-2 16.0 ± 0% 16.0 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/response/gzip goos:linux goarch:amd64 Middleware-2 11.0 ± 0% 11.0 ± 0% ~ (all equal) Middleware_control-2 9.00 ± 0% 9.00 ± 0% ~ (all equal) ```
Benchmark result ``` name time/op pkg:github.com/swaggest/rest/jsonschema goos:linux goarch:amd64 RequestValidator_ValidateRequestData-2 1.54µs ± 0% pkg:github.com/swaggest/rest/request goos:linux goarch:amd64 Decoder_Decode-2 858ns ± 2% DecoderFunc_Decode-2 2.49µs ± 1% Decoder_Decode_json-2 29.8µs ± 7% Decoder_Decode_queryObject-2 5.79µs ± 2% Decoder_Decode_jsonParam-2 2.24µs ± 1% DecoderFactory_SetDecoderFunc-2 2.01µs ± 2% pkg:github.com/swaggest/rest/response/gzip goos:linux goarch:amd64 Middleware-2 14.3µs ± 1% Middleware_control-2 3.82µs ± 2% name alloc/op pkg:github.com/swaggest/rest/jsonschema goos:linux goarch:amd64 RequestValidator_ValidateRequestData-2 2.46kB ± 0% pkg:github.com/swaggest/rest/request goos:linux goarch:amd64 Decoder_Decode-2 440B ± 0% DecoderFunc_Decode-2 1.51kB ± 0% Decoder_Decode_json-2 12.2kB ± 0% Decoder_Decode_queryObject-2 2.00kB ± 0% Decoder_Decode_jsonParam-2 736B ± 0% DecoderFactory_SetDecoderFunc-2 1.02kB ± 0% pkg:github.com/swaggest/rest/response/gzip goos:linux goarch:amd64 Middleware-2 1.16kB ± 2% Middleware_control-2 11.2kB ± 0% name allocs/op pkg:github.com/swaggest/rest/jsonschema goos:linux goarch:amd64 RequestValidator_ValidateRequestData-2 8.00 ± 0% pkg:github.com/swaggest/rest/request goos:linux goarch:amd64 Decoder_Decode-2 4.00 ± 0% DecoderFunc_Decode-2 12.0 ± 0% Decoder_Decode_json-2 177 ± 0% Decoder_Decode_queryObject-2 36.0 ± 0% Decoder_Decode_jsonParam-2 13.0 ± 0% DecoderFactory_SetDecoderFunc-2 16.0 ± 0% pkg:github.com/swaggest/rest/response/gzip goos:linux goarch:amd64 Middleware-2 11.0 ± 0% Middleware_control-2 9.00 ± 0% ```
github-actions[bot] commented 2 years ago

Examples Benchmark Result

Benchmark diff with base branch ``` name old time/op new time/op delta pkg:github.com/swaggest/rest/_examples/advanced goos:linux goarch:amd64 _directGzip-2 24.9µs ± 3% 25.2µs ±11% ~ (p=0.841 n=5+5) _directGzipHead-2 24.7µs ± 2% 25.2µs ± 2% +2.29% (p=0.032 n=5+5) _noDirectGzip-2 138µs ± 1% 136µs ± 2% ~ (p=0.095 n=5+5) _directGzip_decode-2 482µs ± 3% 465µs ± 3% -3.41% (p=0.016 n=5+5) _noDirectGzip_decode-2 137µs ± 2% 135µs ± 1% -1.41% (p=0.008 n=5+5) _jsonBody-2 46.2µs ± 2% 47.4µs ± 8% ~ (p=0.151 n=5+5) _jsonBodyValidation-2 53.6µs ± 2% 53.8µs ± 5% ~ (p=0.690 n=5+5) _outputHeaders-2 25.1µs ± 2% 24.0µs ± 3% -4.23% (p=0.016 n=5+5) _requestResponseMapping-2 47.6µs ± 3% 44.5µs ± 3% -6.40% (p=0.008 n=5+5) _validation-2 51.4µs ± 2% 49.9µs ± 1% -2.96% (p=0.008 n=5+5) _noValidation-2 37.1µs ± 1% 36.0µs ± 2% -3.01% (p=0.008 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic goos:linux goarch:amd64 _directGzip-2 26.8µs ±11% 25.9µs ±11% ~ (p=0.095 n=5+5) _directGzipHead-2 26.3µs ± 5% 25.5µs ± 3% ~ (p=0.095 n=5+5) _noDirectGzip-2 139µs ± 1% 138µs ± 1% ~ (p=0.421 n=5+5) _directGzip_decode-2 497µs ± 2% 488µs ± 4% ~ (p=0.151 n=5+5) _noDirectGzip_decode-2 139µs ± 1% 137µs ± 1% -2.03% (p=0.008 n=5+5) _jsonBody-2 48.1µs ± 3% 41.3µs ± 2% -14.15% (p=0.008 n=5+5) _jsonBodyValidation-2 56.0µs ± 1% 52.6µs ± 3% -6.04% (p=0.008 n=5+5) _outputHeaders-2 25.5µs ± 1% 24.7µs ± 5% ~ (p=0.151 n=5+5) _requestResponseMapping-2 48.2µs ± 1% 45.4µs ± 3% -5.65% (p=0.008 n=5+5) _validation-2 51.3µs ± 2% 51.0µs ± 5% ~ (p=0.222 n=5+5) _noValidation-2 37.0µs ± 3% 36.5µs ± 2% ~ (p=0.690 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-2 27.8µs ± 1% 27.9µs ± 2% ~ (p=1.000 n=5+5) _ok-2 27.8µs ± 1% 28.2µs ± 1% +1.62% (p=0.032 n=4+5) _invalidBody-2 39.6µs ± 3% 40.8µs ± 2% +2.87% (p=0.032 n=5+5) name old B:rcvd/op new B:rcvd/op delta pkg:github.com/swaggest/rest/_examples/advanced goos:linux goarch:amd64 _directGzip-2 639 ± 0% 639 ± 0% ~ (all equal) _directGzipHead-2 183 ± 0% 183 ± 0% ~ (all equal) _noDirectGzip-2 1.04k ± 0% 1.04k ± 0% ~ (all equal) _directGzip_decode-2 639 ± 0% 639 ± 0% ~ (all equal) _noDirectGzip_decode-2 1.04k ± 0% 1.04k ± 0% ~ (all equal) _jsonBody-2 208 ± 0% 208 ± 0% ~ (all equal) _jsonBodyValidation-2 194 ± 0% 194 ± 0% ~ (all equal) _outputHeaders-2 155 ± 0% 155 ± 0% ~ (all equal) _requestResponseMapping-2 94.0 ± 0% 94.0 ± 0% ~ (all equal) _validation-2 177 ± 0% 177 ± 0% ~ (all equal) _noValidation-2 177 ± 0% 177 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/_examples/advanced-generic goos:linux goarch:amd64 _directGzip-2 639 ± 0% 639 ± 0% ~ (all equal) _directGzipHead-2 183 ± 0% 183 ± 0% ~ (all equal) _noDirectGzip-2 1.04k ± 0% 1.04k ± 0% ~ (all equal) _directGzip_decode-2 639 ± 0% 639 ± 0% ~ (all equal) _noDirectGzip_decode-2 1.04k ± 0% 1.04k ± 0% ~ (all equal) _jsonBody-2 208 ± 0% 208 ± 0% ~ (all equal) _jsonBodyValidation-2 194 ± 0% 194 ± 0% ~ (all equal) _outputHeaders-2 155 ± 0% 155 ± 0% ~ (all equal) _requestResponseMapping-2 94.0 ± 0% 94.0 ± 0% ~ (all equal) _validation-2 177 ± 0% 177 ± 0% ~ (all equal) _noValidation-2 177 ± 0% 177 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-2 337 ± 0% 337 ± 0% ~ (all equal) _ok-2 359 ± 0% 359 ± 0% ~ (all equal) _invalidBody-2 435 ± 0% 435 ± 0% ~ (all equal) name old B:sent/op new B:sent/op delta pkg:github.com/swaggest/rest/_examples/advanced goos:linux goarch:amd64 _directGzip-2 103 ± 0% 103 ± 0% ~ (all equal) _directGzipHead-2 104 ± 0% 104 ± 0% ~ (all equal) _noDirectGzip-2 117 ± 0% 117 ± 0% ~ (all equal) _directGzip_decode-2 116 ± 0% 116 ± 0% ~ (all equal) _noDirectGzip_decode-2 130 ± 0% 130 ± 0% ~ (all equal) _jsonBody-2 188 ± 0% 188 ± 0% ~ (all equal) _jsonBodyValidation-2 192 ± 0% 192 ± 0% ~ (all equal) _outputHeaders-2 77.0 ± 0% 77.0 ± 0% ~ (all equal) _requestResponseMapping-2 169 ± 0% 169 ± 0% ~ (all equal) _validation-2 170 ± 0% 170 ± 0% ~ (all equal) _noValidation-2 173 ± 0% 173 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/_examples/advanced-generic goos:linux goarch:amd64 _directGzip-2 103 ± 0% 103 ± 0% ~ (all equal) _directGzipHead-2 104 ± 0% 104 ± 0% ~ (all equal) _noDirectGzip-2 117 ± 0% 117 ± 0% ~ (all equal) _directGzip_decode-2 116 ± 0% 116 ± 0% ~ (all equal) _noDirectGzip_decode-2 130 ± 0% 130 ± 0% ~ (all equal) _jsonBody-2 188 ± 0% 188 ± 0% ~ (all equal) _jsonBodyValidation-2 192 ± 0% 192 ± 0% ~ (all equal) _outputHeaders-2 77.0 ± 0% 77.0 ± 0% ~ (all equal) _requestResponseMapping-2 169 ± 0% 169 ± 0% ~ (all equal) _validation-2 170 ± 0% 170 ± 0% ~ (all equal) _noValidation-2 173 ± 0% 173 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-2 74.0 ± 0% 74.0 ± 0% ~ (all equal) _ok-2 74.0 ± 0% 74.0 ± 0% ~ (all equal) _invalidBody-2 137 ± 0% 137 ± 0% ~ (all equal) name old rps new rps delta pkg:github.com/swaggest/rest/_examples/advanced goos:linux goarch:amd64 _directGzip-2 40.2k ± 3% 39.9k ±10% ~ (p=0.841 n=5+5) _directGzipHead-2 40.5k ± 2% 39.6k ± 2% -2.24% (p=0.032 n=5+5) _noDirectGzip-2 7.27k ± 1% 7.35k ± 2% ~ (p=0.087 n=5+5) _directGzip_decode-2 2.08k ± 3% 2.15k ± 3% +3.52% (p=0.016 n=5+5) _noDirectGzip_decode-2 7.32k ± 2% 7.42k ± 1% +1.42% (p=0.008 n=5+5) _jsonBody-2 21.6k ± 2% 21.1k ± 8% ~ (p=0.151 n=5+5) _jsonBodyValidation-2 18.7k ± 2% 18.6k ± 5% ~ (p=0.690 n=5+5) _outputHeaders-2 39.9k ± 2% 41.7k ± 3% +4.44% (p=0.016 n=5+5) _requestResponseMapping-2 21.0k ± 3% 22.5k ± 3% +6.82% (p=0.008 n=5+5) _validation-2 19.5k ± 2% 20.0k ± 2% +3.04% (p=0.008 n=5+5) _noValidation-2 27.0k ± 1% 27.8k ± 2% +3.12% (p=0.008 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic goos:linux goarch:amd64 _directGzip-2 37.4k ±10% 38.7k ±10% ~ (p=0.095 n=5+5) _directGzipHead-2 38.1k ± 5% 39.2k ± 3% ~ (p=0.095 n=5+5) _noDirectGzip-2 7.21k ± 1% 7.25k ± 1% ~ (p=0.421 n=5+5) _directGzip_decode-2 2.01k ± 2% 2.05k ± 4% ~ (p=0.151 n=5+5) _noDirectGzip_decode-2 7.17k ± 1% 7.32k ± 1% +2.07% (p=0.008 n=5+5) _jsonBody-2 20.8k ± 3% 24.2k ± 2% +16.46% (p=0.008 n=5+5) _jsonBodyValidation-2 17.9k ± 1% 19.0k ± 3% +6.46% (p=0.008 n=5+5) _outputHeaders-2 39.3k ± 1% 40.4k ± 5% ~ (p=0.151 n=5+5) _requestResponseMapping-2 20.8k ± 1% 22.0k ± 3% +6.02% (p=0.008 n=5+5) _validation-2 19.5k ± 2% 19.6k ± 5% ~ (p=0.222 n=5+5) _noValidation-2 27.0k ± 3% 27.4k ± 2% ~ (p=0.690 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-2 35.9k ± 1% 35.8k ± 2% ~ (p=1.000 n=5+5) _ok-2 36.0k ± 1% 35.4k ± 1% -1.59% (p=0.032 n=4+5) _invalidBody-2 25.2k ± 3% 24.5k ± 2% -2.80% (p=0.032 n=5+5) name old alloc/op new alloc/op delta pkg:github.com/swaggest/rest/_examples/advanced goos:linux goarch:amd64 _directGzip-2 3.92kB ± 0% 3.92kB ± 0% ~ (p=0.976 n=5+5) _directGzipHead-2 3.92kB ± 0% 3.92kB ± 0% ~ (p=0.762 n=5+5) _noDirectGzip-2 6.94kB ±27% 6.81kB ±19% ~ (p=1.000 n=5+5) _directGzip_decode-2 403kB ± 0% 403kB ± 0% ~ (p=0.151 n=5+5) _noDirectGzip_decode-2 5.65kB ± 4% 5.89kB ± 8% ~ (p=0.421 n=5+5) _jsonBody-2 13.2kB ± 0% 13.2kB ± 0% ~ (p=1.000 n=5+5) _jsonBodyValidation-2 19.0kB ± 0% 19.0kB ± 0% ~ (p=0.810 n=5+5) _outputHeaders-2 3.71kB ± 0% 3.71kB ± 0% ~ (p=0.190 n=5+5) _requestResponseMapping-2 16.7kB ± 0% 16.7kB ± 0% ~ (p=0.151 n=5+5) _validation-2 16.6kB ± 0% 16.6kB ± 0% ~ (p=0.357 n=5+5) _noValidation-2 7.88kB ± 0% 7.88kB ± 0% ~ (p=0.111 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic goos:linux goarch:amd64 _directGzip-2 3.94kB ± 0% 3.94kB ± 0% ~ (p=0.802 n=5+5) _directGzipHead-2 3.94kB ± 0% 3.94kB ± 0% ~ (p=0.270 n=5+5) _noDirectGzip-2 6.63kB ±25% 7.01kB ±19% ~ (p=0.548 n=5+5) _directGzip_decode-2 403kB ± 0% 402kB ± 0% ~ (p=0.087 n=5+5) _noDirectGzip_decode-2 5.77kB ±10% 5.96kB ± 4% ~ (p=0.421 n=5+5) _jsonBody-2 13.3kB ± 0% 10.3kB ± 0% -22.65% (p=0.008 n=5+5) _jsonBodyValidation-2 19.1kB ± 0% 19.1kB ± 0% -0.02% (p=0.024 n=5+5) _outputHeaders-2 3.71kB ± 0% 3.71kB ± 0% -0.04% (p=0.048 n=5+5) _requestResponseMapping-2 16.7kB ± 0% 16.7kB ± 0% ~ (p=0.214 n=5+5) _validation-2 16.6kB ± 0% 16.6kB ± 0% ~ (p=0.317 n=5+5) _noValidation-2 7.91kB ± 0% 7.91kB ± 0% ~ (p=0.214 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-2 4.88kB ± 0% 4.88kB ± 0% ~ (p=0.762 n=5+5) _ok-2 4.78kB ± 0% 4.78kB ± 0% ~ (p=0.543 n=4+4) _invalidBody-2 8.67kB ± 0% 8.67kB ± 0% ~ (p=0.971 n=4+4) name old allocs/op new allocs/op delta pkg:github.com/swaggest/rest/_examples/advanced goos:linux goarch:amd64 _directGzip-2 42.0 ± 0% 42.0 ± 0% ~ (all equal) _directGzipHead-2 42.0 ± 0% 42.0 ± 0% ~ (all equal) _noDirectGzip-2 49.6 ± 3% 49.6 ± 3% ~ (p=1.000 n=5+5) _directGzip_decode-2 501 ± 0% 500 ± 0% ~ (p=0.095 n=4+5) _noDirectGzip_decode-2 50.0 ± 0% 50.0 ± 0% ~ (all equal) _jsonBody-2 130 ± 0% 130 ± 0% ~ (all equal) _jsonBodyValidation-2 186 ± 0% 186 ± 0% ~ (all equal) _outputHeaders-2 37.0 ± 0% 37.0 ± 0% ~ (all equal) _requestResponseMapping-2 126 ± 0% 126 ± 0% ~ (all equal) _validation-2 155 ± 0% 155 ± 0% ~ (all equal) _noValidation-2 92.0 ± 0% 92.0 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/_examples/advanced-generic goos:linux goarch:amd64 _directGzip-2 43.0 ± 0% 43.0 ± 0% ~ (all equal) _directGzipHead-2 43.0 ± 0% 43.0 ± 0% ~ (all equal) _noDirectGzip-2 50.6 ± 3% 50.6 ± 3% ~ (p=1.000 n=5+5) _directGzip_decode-2 502 ± 0% 501 ± 0% ~ (p=0.095 n=5+4) _noDirectGzip_decode-2 51.0 ± 0% 51.0 ± 0% ~ (all equal) _jsonBody-2 131 ± 0% 101 ± 0% -22.90% (p=0.008 n=5+5) _jsonBodyValidation-2 187 ± 0% 187 ± 0% ~ (all equal) _outputHeaders-2 37.0 ± 0% 37.0 ± 0% ~ (all equal) _requestResponseMapping-2 127 ± 0% 127 ± 0% ~ (all equal) _validation-2 156 ± 0% 156 ± 0% ~ (all equal) _noValidation-2 93.0 ± 0% 93.0 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-2 54.0 ± 0% 54.0 ± 0% ~ (all equal) _ok-2 50.0 ± 0% 50.0 ± 0% ~ (all equal) _invalidBody-2 100 ± 0% 100 ± 0% ~ (all equal) ```