swaggest / rest

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

Fix default inference from an unexported field #196

Closed vearutop closed 4 months ago

github-actions[bot] commented 4 months ago

Lines Of Code

Language Files Lines Code Comments Blanks Complexity Bytes
Go 113 8734 6297 660 1777 1039 (+1) 213.5K (+20B)
github-actions[bot] commented 4 months ago

Go API Changes

# summary
Inferred base version: v0.2.64
Suggested version: v0.2.65
github-actions[bot] commented 4 months ago

Unit Test Coverage

total: (statements) 81.2% changed lines: (statements) 100.0%

Coverage of changed lines | File | Function | Coverage | |------------------------|--------------------|----------| | Total | | 100.0% | | request/factory.go | | 100.0% | | request/factory.go:261 | makeDefaultDecoder | 100.0% |
Coverage diff with base branch No changes in coverage.
codecov[bot] commented 4 months ago

Codecov Report

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

Project coverage is 76.10%. Comparing base (a631dc6) to head (6b7324e).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #196 +/- ## ======================================= Coverage 76.10% 76.10% ======================================= Files 30 30 Lines 1724 1724 ======================================= Hits 1312 1312 Misses 297 297 Partials 115 115 ``` | [Flag](https://app.codecov.io/gh/swaggest/rest/pull/196/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=swaggest) | Coverage Δ | | |---|---|---| | [unittests](https://app.codecov.io/gh/swaggest/rest/pull/196/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=swaggest) | `76.10% <100.00%> (ø)` | | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=swaggest#carryforward-flags-in-the-pull-request-comment) to find out more.

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

github-actions[bot] commented 4 months 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-4 1.09µs ± 0% 1.09µs ± 0% ~ (p=0.143 n=5+5) pkg:github.com/swaggest/rest/request goos:linux goarch:amd64 Decoder_Decode-4 492ns ± 0% 491ns ± 3% ~ (p=0.403 n=5+6) DecoderFunc_Decode-4 1.44µs ± 1% 1.45µs ± 1% ~ (p=0.061 n=6+5) Decoder_Decode_json-4 18.3µs ± 0% 18.5µs ± 1% +0.97% (p=0.011 n=6+6) Decoder_Decode_queryObject-4 3.93µs ± 0% 4.03µs ± 0% +2.58% (p=0.004 n=5+6) Decoder_Decode_jsonParam-4 1.50µs ± 0% 1.50µs ± 0% ~ (p=0.645 n=6+5) DecoderFactory_SetDecoderFunc-4 1.29µs ± 0% 1.29µs ± 0% +0.35% (p=0.004 n=6+5) pkg:github.com/swaggest/rest/response/gzip goos:linux goarch:amd64 Middleware-4 11.4µs ± 0% 11.4µs ± 1% ~ (p=0.831 n=5+6) Middleware_control-4 2.71µs ± 1% 2.68µs ± 1% -0.82% (p=0.043 n=5+6) name old alloc/op new alloc/op delta pkg:github.com/swaggest/rest/jsonschema goos:linux goarch:amd64 RequestValidator_ValidateRequestData-4 2.46kB ± 0% 2.46kB ± 0% ~ (all equal) pkg:github.com/swaggest/rest/request goos:linux goarch:amd64 Decoder_Decode-4 440B ± 0% 440B ± 0% ~ (all equal) DecoderFunc_Decode-4 1.51kB ± 0% 1.51kB ± 0% ~ (all equal) Decoder_Decode_json-4 12.3kB ± 0% 12.3kB ± 0% ~ (all equal) Decoder_Decode_queryObject-4 2.00kB ± 0% 2.00kB ± 0% ~ (all equal) Decoder_Decode_jsonParam-4 736B ± 0% 736B ± 0% ~ (all equal) DecoderFactory_SetDecoderFunc-4 1.02kB ± 0% 1.02kB ± 0% ~ (all equal) pkg:github.com/swaggest/rest/response/gzip goos:linux goarch:amd64 Middleware-4 1.29kB ± 1% 1.32kB ± 7% ~ (p=1.000 n=5+6) Middleware_control-4 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-4 8.00 ± 0% 8.00 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/request goos:linux goarch:amd64 Decoder_Decode-4 4.00 ± 0% 4.00 ± 0% ~ (all equal) DecoderFunc_Decode-4 12.0 ± 0% 12.0 ± 0% ~ (all equal) Decoder_Decode_json-4 177 ± 0% 177 ± 0% ~ (all equal) Decoder_Decode_queryObject-4 36.0 ± 0% 36.0 ± 0% ~ (all equal) Decoder_Decode_jsonParam-4 12.0 ± 0% 12.0 ± 0% ~ (all equal) DecoderFactory_SetDecoderFunc-4 16.0 ± 0% 16.0 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/response/gzip goos:linux goarch:amd64 Middleware-4 11.0 ± 0% 11.0 ± 0% ~ (all equal) Middleware_control-4 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-4 1.09µs ± 0% pkg:github.com/swaggest/rest/request goos:linux goarch:amd64 Decoder_Decode-4 491ns ± 3% DecoderFunc_Decode-4 1.45µs ± 1% Decoder_Decode_json-4 18.5µs ± 1% Decoder_Decode_queryObject-4 4.03µs ± 0% Decoder_Decode_jsonParam-4 1.50µs ± 0% DecoderFactory_SetDecoderFunc-4 1.29µs ± 0% pkg:github.com/swaggest/rest/response/gzip goos:linux goarch:amd64 Middleware-4 11.4µs ± 1% Middleware_control-4 2.68µs ± 1% name alloc/op pkg:github.com/swaggest/rest/jsonschema goos:linux goarch:amd64 RequestValidator_ValidateRequestData-4 2.46kB ± 0% pkg:github.com/swaggest/rest/request goos:linux goarch:amd64 Decoder_Decode-4 440B ± 0% DecoderFunc_Decode-4 1.51kB ± 0% Decoder_Decode_json-4 12.3kB ± 0% Decoder_Decode_queryObject-4 2.00kB ± 0% Decoder_Decode_jsonParam-4 736B ± 0% DecoderFactory_SetDecoderFunc-4 1.02kB ± 0% pkg:github.com/swaggest/rest/response/gzip goos:linux goarch:amd64 Middleware-4 1.32kB ± 7% Middleware_control-4 11.2kB ± 0% name allocs/op pkg:github.com/swaggest/rest/jsonschema goos:linux goarch:amd64 RequestValidator_ValidateRequestData-4 8.00 ± 0% pkg:github.com/swaggest/rest/request goos:linux goarch:amd64 Decoder_Decode-4 4.00 ± 0% DecoderFunc_Decode-4 12.0 ± 0% Decoder_Decode_json-4 177 ± 0% Decoder_Decode_queryObject-4 36.0 ± 0% Decoder_Decode_jsonParam-4 12.0 ± 0% DecoderFactory_SetDecoderFunc-4 16.0 ± 0% pkg:github.com/swaggest/rest/response/gzip goos:linux goarch:amd64 Middleware-4 11.0 ± 0% Middleware_control-4 9.00 ± 0% ```
github-actions[bot] commented 4 months 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-4 17.3µs ± 9% 16.7µs ± 1% ~ (p=0.056 n=5+5) _directGzipHead-4 16.7µs ± 2% 16.6µs ± 1% ~ (p=0.222 n=5+5) _noDirectGzip-4 93.7µs ± 1% 92.3µs ± 1% -1.44% (p=0.016 n=5+5) _directGzip_decode-4 342µs ± 1% 336µs ± 1% -1.65% (p=0.016 n=5+5) _noDirectGzip_decode-4 93.7µs ± 1% 92.0µs ± 0% -1.75% (p=0.008 n=5+5) _jsonBody-4 37.0µs ± 0% 35.1µs ± 1% -5.22% (p=0.008 n=5+5) _jsonBodyValidation-4 42.5µs ± 1% 40.5µs ± 1% -4.87% (p=0.008 n=5+5) _outputHeaders-4 17.2µs ± 1% 16.8µs ± 0% -2.50% (p=0.016 n=5+4) _requestResponseMapping-4 36.1µs ± 1% 34.6µs ± 1% -4.03% (p=0.008 n=5+5) _validation-4 38.8µs ± 2% 36.8µs ± 3% -4.96% (p=0.008 n=5+5) _noValidation-4 26.9µs ± 1% 26.0µs ± 1% -3.34% (p=0.008 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-4 17.2µs ± 4% 16.6µs ± 5% ~ (p=0.095 n=5+5) _directGzipHead-4 17.1µs ± 4% 16.4µs ± 2% -3.80% (p=0.008 n=5+5) _noDirectGzip-4 93.1µs ± 1% 92.4µs ± 1% ~ (p=0.056 n=5+5) _directGzip_decode-4 335µs ± 1% 329µs ± 3% ~ (p=0.151 n=5+5) _noDirectGzip_decode-4 93.4µs ± 1% 92.4µs ± 1% -1.05% (p=0.008 n=5+5) _htmlResponse-4 30.9µs ± 1% 29.4µs ± 1% -4.82% (p=0.008 n=5+5) _jsonBodyManual-4 21.2µs ± 0% 20.3µs ± 1% -4.22% (p=0.008 n=5+5) _jsonBody-4 32.4µs ± 1% 30.8µs ± 1% -4.93% (p=0.008 n=5+5) _jsonBodyValidation-4 42.7µs ± 3% 40.2µs ± 1% -5.90% (p=0.008 n=5+5) _outputHeaders-4 30.3µs ± 2% 29.4µs ± 1% -3.12% (p=0.008 n=5+5) _requestResponseMapping-4 35.7µs ± 2% 35.1µs ± 2% ~ (p=0.151 n=5+5) _validation-4 37.7µs ± 2% 37.5µs ± 0% ~ (p=0.310 n=5+5) _noValidation-4 26.8µs ± 1% 26.1µs ± 1% -2.55% (p=0.008 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-4 18.6µs ± 1% 18.8µs ± 6% ~ (p=0.841 n=5+5) _ok-4 19.3µs ± 7% 18.3µs ± 1% -5.16% (p=0.008 n=5+5) _invalidBody-4 28.2µs ± 5% 27.3µs ± 4% -3.08% (p=0.048 n=5+5) name old 50%:ms new 50%:ms delta pkg:github.com/swaggest/rest/_examples/advanced goos:linux goarch:amd64 _directGzip-4 0.73 ± 8% 0.71 ± 9% ~ (p=0.421 n=5+5) _directGzipHead-4 0.71 ± 3% 0.71 ± 7% ~ (p=1.000 n=5+5) _noDirectGzip-4 4.19 ± 3% 4.27 ± 5% ~ (p=0.222 n=5+5) _directGzip_decode-4 11.7 ± 4% 11.0 ± 8% ~ (p=0.056 n=5+5) _noDirectGzip_decode-4 4.32 ± 4% 4.24 ± 8% ~ (p=0.310 n=5+5) _jsonBody-4 1.54 ± 6% 1.45 ± 4% -5.79% (p=0.008 n=5+5) _jsonBodyValidation-4 1.80 ± 6% 1.68 ± 8% ~ (p=0.056 n=5+5) _outputHeaders-4 0.74 ± 8% 0.73 ± 6% ~ (p=1.000 n=5+5) _requestResponseMapping-4 1.47 ± 5% 1.41 ± 4% ~ (p=0.222 n=5+5) _validation-4 1.61 ± 7% 1.52 ± 8% ~ (p=0.310 n=5+5) _noValidation-4 1.10 ± 5% 1.06 ± 4% -4.04% (p=0.048 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-4 0.77 ± 5% 0.70 ± 4% -8.29% (p=0.016 n=5+5) _directGzipHead-4 0.72 ± 6% 0.70 ±13% ~ (p=0.421 n=5+5) _noDirectGzip-4 4.29 ± 3% 4.20 ± 7% ~ (p=0.222 n=5+5) _directGzip_decode-4 11.4 ±10% 10.9 ± 6% ~ (p=0.421 n=5+5) _noDirectGzip_decode-4 4.20 ± 3% 4.14 ± 4% ~ (p=0.222 n=5+5) _htmlResponse-4 1.35 ± 9% 1.27 ± 2% ~ (p=0.310 n=5+5) _jsonBodyManual-4 0.91 ± 4% 0.90 ± 7% ~ (p=0.310 n=5+5) _jsonBody-4 1.35 ± 7% 1.32 ± 5% ~ (p=0.548 n=5+5) _jsonBodyValidation-4 1.75 ± 6% 1.67 ± 4% ~ (p=0.095 n=5+5) _outputHeaders-4 1.24 ± 4% 1.21 ± 3% ~ (p=0.421 n=5+5) _requestResponseMapping-4 1.48 ± 5% 1.43 ± 7% ~ (p=0.421 n=5+5) _validation-4 1.55 ± 8% 1.58 ± 7% ~ (p=1.000 n=5+5) _noValidation-4 1.10 ± 3% 1.11 ± 7% ~ (p=1.000 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-4 0.82 ± 3% 0.81 ± 9% ~ (p=0.310 n=5+5) _ok-4 0.82 ± 4% 0.83 ± 7% ~ (p=0.841 n=5+5) _invalidBody-4 1.17 ± 7% 1.08 ± 4% ~ (p=0.056 n=5+5) name old 90%:ms new 90%:ms delta pkg:github.com/swaggest/rest/_examples/advanced goos:linux goarch:amd64 _directGzip-4 1.59 ± 6% 1.52 ± 5% ~ (p=0.095 n=5+5) _directGzipHead-4 1.51 ± 7% 1.50 ± 7% ~ (p=0.841 n=5+5) _noDirectGzip-4 8.83 ± 3% 8.73 ± 1% ~ (p=0.548 n=5+5) _directGzip_decode-4 32.9 ±10% 32.8 ± 5% ~ (p=0.841 n=5+5) _noDirectGzip_decode-4 8.95 ± 6% 8.74 ± 5% ~ (p=0.421 n=5+5) _jsonBody-4 3.40 ± 5% 3.25 ± 2% ~ (p=0.056 n=5+5) _jsonBodyValidation-4 3.88 ± 2% 3.64 ± 4% -6.28% (p=0.008 n=5+5) _outputHeaders-4 1.56 ± 3% 1.51 ± 4% ~ (p=0.056 n=5+5) _requestResponseMapping-4 3.35 ± 6% 3.20 ± 6% ~ (p=0.151 n=5+5) _validation-4 3.64 ± 6% 3.39 ± 6% -6.90% (p=0.016 n=5+5) _noValidation-4 2.52 ± 2% 2.42 ± 4% ~ (p=0.095 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-4 1.55 ± 7% 1.54 ± 7% ~ (p=1.000 n=5+5) _directGzipHead-4 1.58 ± 8% 1.45 ± 7% -8.40% (p=0.032 n=5+5) _noDirectGzip-4 8.77 ± 3% 8.71 ± 3% ~ (p=0.548 n=5+5) _directGzip_decode-4 32.5 ± 3% 31.3 ± 9% ~ (p=0.222 n=5+5) _noDirectGzip_decode-4 9.09 ± 2% 8.64 ± 3% -4.88% (p=0.008 n=5+5) _htmlResponse-4 2.91 ± 4% 2.75 ± 5% ~ (p=0.056 n=5+5) _jsonBodyManual-4 1.89 ± 3% 1.83 ± 2% ~ (p=0.056 n=5+5) _jsonBody-4 3.10 ± 3% 2.89 ± 6% -6.87% (p=0.032 n=5+5) _jsonBodyValidation-4 3.92 ± 8% 3.66 ± 4% -6.70% (p=0.032 n=5+5) _outputHeaders-4 2.88 ± 5% 2.81 ± 4% ~ (p=0.690 n=5+5) _requestResponseMapping-4 3.32 ± 2% 3.37 ± 6% ~ (p=0.690 n=5+5) _validation-4 3.62 ± 3% 3.44 ± 3% -4.98% (p=0.016 n=5+5) _noValidation-4 2.57 ± 3% 2.47 ± 3% ~ (p=0.095 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-4 1.68 ± 5% 1.66 ± 3% ~ (p=0.548 n=5+5) _ok-4 1.75 ± 4% 1.65 ± 9% ~ (p=0.095 n=5+5) _invalidBody-4 2.70 ±13% 2.60 ± 8% ~ (p=0.690 n=5+5) name old 99%:ms new 99%:ms delta pkg:github.com/swaggest/rest/_examples/advanced goos:linux goarch:amd64 _directGzip-4 2.98 ±25% 2.58 ± 8% -13.30% (p=0.016 n=5+5) _directGzipHead-4 2.78 ± 1% 2.63 ±10% ~ (p=0.151 n=5+5) _noDirectGzip-4 13.7 ± 4% 13.3 ± 6% ~ (p=0.421 n=5+5) _directGzip_decode-4 62.0 ±12% 63.1 ± 6% ~ (p=0.421 n=5+5) _noDirectGzip_decode-4 13.3 ± 3% 13.2 ± 4% ~ (p=0.730 n=5+5) _jsonBody-4 5.48 ± 5% 5.37 ± 3% ~ (p=0.548 n=5+5) _jsonBodyValidation-4 6.39 ± 4% 6.32 ± 4% ~ (p=0.548 n=5+5) _outputHeaders-4 2.76 ± 5% 2.56 ± 3% -6.97% (p=0.032 n=5+4) _requestResponseMapping-4 5.43 ± 6% 5.23 ±10% ~ (p=0.151 n=5+5) _validation-4 5.73 ± 1% 5.77 ± 9% ~ (p=0.905 n=4+5) _noValidation-4 4.17 ± 9% 4.06 ± 7% ~ (p=0.548 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-4 2.77 ±14% 2.63 ±12% ~ (p=0.579 n=5+5) _directGzipHead-4 2.80 ±12% 2.69 ± 4% ~ (p=0.421 n=5+5) _noDirectGzip-4 13.7 ±10% 13.6 ± 4% ~ (p=1.000 n=5+5) _directGzip_decode-4 62.2 ±10% 57.6 ±18% ~ (p=0.310 n=5+5) _noDirectGzip_decode-4 13.9 ± 4% 13.5 ± 5% ~ (p=0.222 n=5+5) _htmlResponse-4 4.84 ± 9% 4.44 ± 2% -8.31% (p=0.008 n=5+5) _jsonBodyManual-4 3.25 ± 3% 3.00 ± 5% -7.65% (p=0.016 n=5+5) _jsonBody-4 5.03 ± 9% 4.77 ± 7% ~ (p=0.222 n=5+5) _jsonBodyValidation-4 6.65 ±16% 6.19 ±13% ~ (p=0.222 n=5+5) _outputHeaders-4 4.72 ± 5% 4.58 ± 4% ~ (p=0.222 n=5+5) _requestResponseMapping-4 5.16 ± 9% 5.24 ±13% ~ (p=1.000 n=5+5) _validation-4 5.43 ± 3% 5.62 ± 5% ~ (p=0.222 n=5+5) _noValidation-4 4.24 ± 2% 4.18 ± 3% ~ (p=0.222 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-4 2.73 ± 7% 2.94 ±19% ~ (p=0.310 n=5+5) _ok-4 3.12 ±10% 2.73 ± 5% -12.32% (p=0.016 n=5+5) _invalidBody-4 5.19 ± 5% 4.88 ±10% ~ (p=0.056 n=5+5) name old 99.9%:ms new 99.9%:ms delta pkg:github.com/swaggest/rest/_examples/advanced goos:linux goarch:amd64 _directGzip-4 6.76 ±47% 4.73 ±31% ~ (p=0.056 n=5+5) _directGzipHead-4 6.39 ±24% 5.40 ±31% ~ (p=0.548 n=5+5) _noDirectGzip-4 18.0 ± 5% 17.7 ±10% ~ (p=0.690 n=5+5) _directGzip_decode-4 85.0 ±10% 83.2 ±12% ~ (p=0.548 n=5+5) _noDirectGzip_decode-4 16.9 ± 8% 17.0 ± 7% ~ (p=0.841 n=5+5) _jsonBody-4 8.03 ± 4% 8.11 ± 3% ~ (p=0.310 n=5+5) _jsonBodyValidation-4 9.86 ± 9% 9.24 ±15% ~ (p=0.548 n=5+5) _outputHeaders-4 4.51 ±16% 5.58 ±59% ~ (p=0.151 n=5+5) _requestResponseMapping-4 8.08 ± 9% 8.37 ±16% ~ (p=0.690 n=5+5) _validation-4 9.19 ± 7% 9.50 ±13% ~ (p=0.690 n=5+5) _noValidation-4 6.38 ±12% 6.59 ±12% ~ (p=0.548 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-4 5.36 ±29% 5.63 ±49% ~ (p=1.000 n=5+5) _directGzipHead-4 5.91 ±41% 5.20 ± 7% ~ (p=0.310 n=5+5) _noDirectGzip-4 19.5 ±19% 19.1 ± 9% ~ (p=1.000 n=5+5) _directGzip_decode-4 78.9 ± 9% 77.1 ±12% ~ (p=1.000 n=5+5) _noDirectGzip_decode-4 19.4 ±13% 19.2 ±16% ~ (p=0.841 n=5+5) _htmlResponse-4 7.48 ±34% 6.64 ± 9% ~ (p=0.310 n=5+5) _jsonBodyManual-4 5.61 ±17% 4.72 ±13% ~ (p=0.095 n=5+5) _jsonBody-4 7.41 ±23% 6.87 ±10% ~ (p=0.421 n=5+5) _jsonBodyValidation-4 9.46 ±28% 9.38 ± 8% ~ (p=0.548 n=5+5) _outputHeaders-4 7.00 ± 9% 7.04 ±27% ~ (p=0.690 n=5+5) _requestResponseMapping-4 7.93 ± 9% 8.47 ±10% ~ (p=0.222 n=5+5) _validation-4 7.74 ±17% 8.96 ±14% ~ (p=0.095 n=5+5) _noValidation-4 5.99 ± 2% 6.07 ± 9% ~ (p=0.690 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-4 4.79 ±27% 5.86 ±48% ~ (p=0.548 n=5+5) _ok-4 7.00 ±37% 5.09 ±20% ~ (p=0.095 n=5+5) _invalidBody-4 8.05 ± 6% 8.16 ±20% ~ (p=0.222 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-4 630 ± 0% 630 ± 0% ~ (all equal) _directGzipHead-4 174 ± 0% 174 ± 0% ~ (all equal) _noDirectGzip-4 1.03k ± 0% 1.03k ± 0% ~ (all equal) _directGzip_decode-4 630 ± 0% 630 ± 0% ~ (all equal) _noDirectGzip_decode-4 1.03k ± 0% 1.03k ± 0% ~ (all equal) _jsonBody-4 199 ± 0% 199 ± 0% ~ (all equal) _jsonBodyValidation-4 185 ± 0% 185 ± 0% ~ (all equal) _outputHeaders-4 146 ± 0% 146 ± 0% ~ (all equal) _requestResponseMapping-4 94.0 ± 0% 94.0 ± 0% ~ (all equal) _validation-4 168 ± 0% 168 ± 0% ~ (all equal) _noValidation-4 168 ± 0% 168 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-4 638 ± 0% 638 ± 0% ~ (all equal) _directGzipHead-4 182 ± 0% 182 ± 0% ~ (all equal) _noDirectGzip-4 1.04k ± 0% 1.04k ± 0% ~ (all equal) _directGzip_decode-4 638 ± 0% 638 ± 0% ~ (all equal) _noDirectGzip_decode-4 1.04k ± 0% 1.04k ± 0% ~ (all equal) _htmlResponse-4 355 ± 0% 355 ± 0% ~ (all equal) _jsonBodyManual-4 207 ± 0% 207 ± 0% ~ (all equal) _jsonBody-4 207 ± 0% 207 ± 0% ~ (all equal) _jsonBodyValidation-4 193 ± 0% 193 ± 0% ~ (all equal) _outputHeaders-4 214 ± 0% 214 ± 0% ~ (all equal) _requestResponseMapping-4 108 ± 0% 108 ± 0% ~ (all equal) _validation-4 176 ± 0% 176 ± 0% ~ (all equal) _noValidation-4 176 ± 0% 176 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-4 322 ± 0% 322 ± 0% ~ (all equal) _ok-4 344 ± 0% 344 ± 0% ~ (p=0.444 n=5+5) _invalidBody-4 420 ± 0% 420 ± 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-4 103 ± 0% 103 ± 0% ~ (all equal) _directGzipHead-4 104 ± 0% 104 ± 0% ~ (all equal) _noDirectGzip-4 117 ± 0% 117 ± 0% ~ (all equal) _directGzip_decode-4 116 ± 0% 116 ± 0% ~ (all equal) _noDirectGzip_decode-4 130 ± 0% 130 ± 0% ~ (all equal) _jsonBody-4 188 ± 0% 188 ± 0% ~ (all equal) _jsonBodyValidation-4 192 ± 0% 192 ± 0% ~ (all equal) _outputHeaders-4 77.0 ± 0% 77.0 ± 0% ~ (all equal) _requestResponseMapping-4 169 ± 0% 169 ± 0% ~ (all equal) _validation-4 170 ± 0% 170 ± 0% ~ (all equal) _noValidation-4 173 ± 0% 173 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-4 103 ± 0% 103 ± 0% ~ (all equal) _directGzipHead-4 104 ± 0% 104 ± 0% ~ (all equal) _noDirectGzip-4 117 ± 0% 117 ± 0% ~ (all equal) _directGzip_decode-4 116 ± 0% 116 ± 0% ~ (all equal) _noDirectGzip_decode-4 130 ± 0% 130 ± 0% ~ (all equal) _htmlResponse-4 108 ± 0% 108 ± 0% ~ (all equal) _jsonBodyManual-4 195 ± 0% 195 ± 0% ~ (all equal) _jsonBody-4 188 ± 0% 188 ± 0% ~ (all equal) _jsonBodyValidation-4 192 ± 0% 192 ± 0% ~ (all equal) _outputHeaders-4 88.0 ± 0% 88.0 ± 0% ~ (all equal) _requestResponseMapping-4 169 ± 0% 169 ± 0% ~ (all equal) _validation-4 170 ± 0% 170 ± 0% ~ (all equal) _noValidation-4 173 ± 0% 173 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-4 74.0 ± 0% 74.0 ± 0% ~ (all equal) _ok-4 74.0 ± 0% 74.0 ± 0% ~ (all equal) _invalidBody-4 137 ± 0% 137 ± 0% ~ (all equal) name old rps new rps delta pkg:github.com/swaggest/rest/_examples/advanced goos:linux goarch:amd64 _directGzip-4 57.9k ± 9% 59.9k ± 1% ~ (p=0.056 n=5+5) _directGzipHead-4 59.8k ± 2% 60.4k ± 1% ~ (p=0.222 n=5+5) _noDirectGzip-4 10.7k ± 1% 10.8k ± 1% +1.46% (p=0.016 n=5+5) _directGzip_decode-4 2.92k ± 1% 2.97k ± 1% +1.68% (p=0.016 n=5+5) _noDirectGzip_decode-4 10.7k ± 1% 10.9k ± 0% +1.78% (p=0.008 n=5+5) _jsonBody-4 27.0k ± 0% 28.5k ± 1% +5.51% (p=0.008 n=5+5) _jsonBodyValidation-4 23.5k ± 1% 24.7k ± 1% +5.12% (p=0.008 n=5+5) _outputHeaders-4 58.2k ± 1% 59.7k ± 0% +2.57% (p=0.016 n=5+4) _requestResponseMapping-4 27.7k ± 1% 28.9k ± 1% +4.20% (p=0.008 n=5+5) _validation-4 25.8k ± 2% 27.1k ± 3% +5.22% (p=0.008 n=5+5) _noValidation-4 37.1k ± 1% 38.4k ± 1% +3.45% (p=0.008 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-4 58.2k ± 4% 60.2k ± 5% ~ (p=0.095 n=5+5) _directGzipHead-4 58.6k ± 4% 60.9k ± 2% +3.90% (p=0.008 n=5+5) _noDirectGzip-4 10.7k ± 1% 10.8k ± 1% ~ (p=0.063 n=5+5) _directGzip_decode-4 2.99k ± 1% 3.04k ± 3% ~ (p=0.151 n=5+5) _noDirectGzip_decode-4 10.7k ± 1% 10.8k ± 1% +1.05% (p=0.008 n=5+5) _htmlResponse-4 32.4k ± 1% 34.0k ± 1% +5.07% (p=0.008 n=5+5) _jsonBodyManual-4 47.1k ± 0% 49.2k ± 1% +4.41% (p=0.008 n=5+5) _jsonBody-4 30.8k ± 1% 32.4k ± 1% +5.18% (p=0.008 n=5+5) _jsonBodyValidation-4 23.4k ± 3% 24.9k ± 1% +6.25% (p=0.008 n=5+5) _outputHeaders-4 33.0k ± 2% 34.0k ± 1% +3.21% (p=0.008 n=5+5) _requestResponseMapping-4 28.0k ± 2% 28.5k ± 2% ~ (p=0.151 n=5+5) _validation-4 26.5k ± 2% 26.6k ± 0% ~ (p=0.310 n=5+5) _noValidation-4 37.3k ± 1% 38.3k ± 1% +2.63% (p=0.008 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-4 53.7k ± 1% 53.3k ± 6% ~ (p=0.841 n=5+5) _ok-4 51.8k ± 7% 54.5k ± 1% +5.30% (p=0.008 n=5+5) _invalidBody-4 35.5k ± 5% 36.6k ± 4% ~ (p=0.056 n=5+5) name old alloc/op new alloc/op delta pkg:github.com/swaggest/rest/_examples/advanced goos:linux goarch:amd64 _directGzip-4 3.86kB ± 0% 3.86kB ± 0% ~ (p=1.000 n=5+5) _directGzipHead-4 3.86kB ± 0% 3.86kB ± 0% ~ (p=0.587 n=5+5) _noDirectGzip-4 6.87kB ±24% 6.95kB ±22% ~ (p=1.000 n=5+5) _directGzip_decode-4 404kB ± 0% 404kB ± 0% ~ (p=0.222 n=5+5) _noDirectGzip_decode-4 5.89kB ±11% 5.85kB ± 8% ~ (p=0.841 n=5+5) _jsonBody-4 13.2kB ± 0% 13.2kB ± 0% ~ (p=0.127 n=5+5) _jsonBodyValidation-4 19.0kB ± 0% 19.0kB ± 0% ~ (p=0.579 n=5+5) _outputHeaders-4 3.57kB ± 0% 3.57kB ± 0% ~ (p=0.976 n=5+5) _requestResponseMapping-4 16.7kB ± 0% 16.7kB ± 0% ~ (p=0.722 n=5+5) _validation-4 16.6kB ± 0% 16.6kB ± 0% ~ (p=1.000 n=5+5) _noValidation-4 7.79kB ± 0% 7.79kB ± 0% ~ (p=0.413 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-4 3.87kB ± 0% 3.87kB ± 0% ~ (p=0.500 n=5+5) _directGzipHead-4 3.87kB ± 0% 3.87kB ± 0% ~ (p=1.000 n=5+5) _noDirectGzip-4 7.30kB ±19% 7.04kB ±21% ~ (p=0.841 n=5+5) _directGzip_decode-4 404kB ± 0% 404kB ± 0% ~ (p=0.310 n=5+5) _noDirectGzip_decode-4 6.43kB ± 6% 6.18kB ±14% ~ (p=0.548 n=5+5) _htmlResponse-4 8.07kB ± 0% 8.07kB ± 0% ~ (p=0.183 n=5+5) _jsonBodyManual-4 4.48kB ± 0% 4.48kB ± 0% ~ (p=1.000 n=5+5) _jsonBody-4 10.2kB ± 0% 10.2kB ± 0% ~ (p=0.833 n=5+5) _jsonBodyValidation-4 19.1kB ± 0% 19.1kB ± 0% ~ (p=0.690 n=5+5) _outputHeaders-4 10.4kB ± 0% 10.4kB ± 0% ~ (p=0.794 n=5+5) _requestResponseMapping-4 16.7kB ± 0% 16.7kB ± 0% ~ (p=0.635 n=4+5) _validation-4 16.6kB ± 0% 16.6kB ± 0% ~ (p=0.802 n=5+5) _noValidation-4 7.83kB ± 0% 7.82kB ± 0% ~ (p=0.595 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-4 4.65kB ± 0% 4.65kB ± 0% ~ (p=0.730 n=5+5) _ok-4 4.56kB ± 0% 4.56kB ± 0% ~ (p=0.086 n=4+4) _invalidBody-4 8.28kB ± 0% 8.28kB ± 0% ~ (p=1.000 n=4+4) name old allocs/op new allocs/op delta pkg:github.com/swaggest/rest/_examples/advanced goos:linux goarch:amd64 _directGzip-4 42.0 ± 0% 42.0 ± 0% ~ (all equal) _directGzipHead-4 42.0 ± 0% 42.0 ± 0% ~ (all equal) _noDirectGzip-4 49.2 ± 4% 49.2 ± 4% ~ (p=1.000 n=5+5) _directGzip_decode-4 503 ± 0% 504 ± 0% ~ (p=0.365 n=5+5) _noDirectGzip_decode-4 50.0 ± 0% 50.0 ± 0% ~ (all equal) _jsonBody-4 129 ± 0% 129 ± 0% ~ (p=0.444 n=5+5) _jsonBodyValidation-4 186 ± 0% 186 ± 0% ~ (all equal) _outputHeaders-4 36.0 ± 0% 36.0 ± 0% ~ (all equal) _requestResponseMapping-4 124 ± 0% 124 ± 0% ~ (all equal) _validation-4 155 ± 0% 155 ± 0% ~ (p=0.333 n=4+5) _noValidation-4 91.0 ± 0% 91.0 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-4 43.0 ± 0% 43.0 ± 0% ~ (all equal) _directGzipHead-4 43.0 ± 0% 43.0 ± 0% ~ (all equal) _noDirectGzip-4 50.2 ± 4% 50.2 ± 4% ~ (p=1.000 n=5+5) _directGzip_decode-4 505 ± 0% 505 ± 0% ~ (p=0.397 n=5+5) _noDirectGzip_decode-4 51.0 ± 0% 51.0 ± 0% ~ (all equal) _htmlResponse-4 144 ± 0% 144 ± 0% ~ (all equal) _jsonBodyManual-4 48.0 ± 0% 48.0 ± 0% ~ (all equal) _jsonBody-4 99.0 ± 0% 99.0 ± 0% ~ (all equal) _jsonBodyValidation-4 187 ± 0% 187 ± 0% ~ (all equal) _outputHeaders-4 112 ± 0% 112 ± 0% ~ (all equal) _requestResponseMapping-4 125 ± 0% 125 ± 0% ~ (all equal) _validation-4 155 ± 0% 155 ± 0% ~ (p=1.000 n=5+5) _noValidation-4 92.0 ± 0% 92.0 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-4 53.0 ± 0% 53.0 ± 0% ~ (all equal) _ok-4 49.0 ± 0% 49.0 ± 0% ~ (all equal) _invalidBody-4 97.0 ± 0% 97.0 ± 0% ~ (all equal) ```