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

Add JSON collectionFormat #193

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 8713 (+4) 6281 (+4) 659 1773 1029 (+1) 212.9K (+265B)
Go (test) 55 6611 5072 295 1244 188 180.3K (+49B)
JSON 3 1860 (+5) 1860 (+5) 0 0 0 71.8K (+312B)
github-actions[bot] commented 4 months ago

Go API Changes

# summary
Inferred base version: v0.2.62
Suggested version: v0.2.63
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:222 | jsonParams | 100.0% | | _examples/advanced-generic-openapi31/query_object.go | | no coverage |
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.18%. Comparing base (0a163b6) to head (3f5a2b9).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #193 +/- ## ========================================== + Coverage 76.16% 76.18% +0.01% ========================================== Files 30 30 Lines 1712 1713 +1 ========================================== + Hits 1304 1305 +1 Misses 295 295 Partials 113 113 ``` | [Flag](https://app.codecov.io/gh/swaggest/rest/pull/193/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/193/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=swaggest) | `76.18% <100.00%> (+0.01%)` | :arrow_up: | 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.10µs ± 1% 1.10µs ± 0% ~ (p=0.693 n=6+5) pkg:github.com/swaggest/rest/request goos:linux goarch:amd64 Decoder_Decode-4 501ns ± 2% 503ns ± 2% ~ (p=0.223 n=6+6) DecoderFunc_Decode-4 1.45µs ± 1% 1.46µs ± 1% +0.53% (p=0.048 n=5+6) Decoder_Decode_json-4 18.4µs ± 0% 18.4µs ± 1% ~ (p=0.398 n=5+6) Decoder_Decode_queryObject-4 3.93µs ± 0% 3.91µs ± 0% -0.53% (p=0.000 n=6+5) Decoder_Decode_jsonParam-4 1.49µs ± 0% 1.49µs ± 0% ~ (p=0.095 n=6+6) DecoderFactory_SetDecoderFunc-4 1.28µs ± 0% 1.29µs ± 0% +0.76% (p=0.016 n=4+5) pkg:github.com/swaggest/rest/response/gzip goos:linux goarch:amd64 Middleware-4 11.3µs ± 0% 11.3µs ± 0% ~ (p=0.651 n=5+5) Middleware_control-4 2.70µs ± 1% 2.69µs ± 0% ~ (p=0.143 n=6+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.33kB ± 2% 1.30kB ± 7% ~ (p=0.310 n=6+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.10µs ± 0% pkg:github.com/swaggest/rest/request goos:linux goarch:amd64 Decoder_Decode-4 503ns ± 2% DecoderFunc_Decode-4 1.46µs ± 1% Decoder_Decode_json-4 18.4µs ± 1% Decoder_Decode_queryObject-4 3.91µs ± 0% Decoder_Decode_jsonParam-4 1.49µs ± 0% DecoderFactory_SetDecoderFunc-4 1.29µs ± 0% pkg:github.com/swaggest/rest/response/gzip goos:linux goarch:amd64 Middleware-4 11.3µs ± 0% Middleware_control-4 2.69µs ± 0% 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.30kB ± 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 16.8µs ± 7% 16.0µs ± 1% -4.82% (p=0.032 n=5+5) _directGzipHead-4 16.0µs ± 1% 15.8µs ± 0% ~ (p=0.063 n=5+4) _noDirectGzip-4 91.7µs ± 1% 91.0µs ± 1% ~ (p=0.095 n=5+5) _directGzip_decode-4 323µs ± 1% 325µs ± 1% ~ (p=0.310 n=5+5) _noDirectGzip_decode-4 91.6µs ± 1% 91.1µs ± 1% ~ (p=0.095 n=5+5) _jsonBody-4 35.3µs ± 3% 35.1µs ± 2% ~ (p=1.000 n=5+5) _jsonBodyValidation-4 39.7µs ± 2% 39.7µs ± 0% ~ (p=0.841 n=5+5) _outputHeaders-4 16.4µs ± 1% 16.4µs ± 1% ~ (p=0.421 n=5+5) _requestResponseMapping-4 34.1µs ± 2% 34.4µs ± 3% ~ (p=1.000 n=5+5) _validation-4 36.9µs ± 2% 36.8µs ± 1% ~ (p=0.690 n=5+5) _noValidation-4 25.7µs ± 1% 25.6µs ± 1% ~ (p=0.548 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-4 16.2µs ± 1% 16.5µs ± 6% ~ (p=0.690 n=5+5) _directGzipHead-4 16.3µs ± 1% 16.1µs ± 2% ~ (p=0.190 n=4+5) _noDirectGzip-4 93.1µs ± 2% 92.5µs ± 0% ~ (p=0.421 n=5+5) _directGzip_decode-4 325µs ± 1% 323µs ± 0% ~ (p=0.222 n=5+5) _noDirectGzip_decode-4 92.4µs ± 1% 93.1µs ± 3% ~ (p=0.421 n=5+5) _htmlResponse-4 29.4µs ± 1% 29.3µs ± 0% ~ (p=0.341 n=5+5) _jsonBodyManual-4 20.4µs ± 0% 20.2µs ± 1% -1.23% (p=0.008 n=5+5) _jsonBody-4 31.0µs ± 2% 30.6µs ± 1% ~ (p=0.421 n=5+5) _jsonBodyValidation-4 39.9µs ± 2% 39.5µs ± 2% ~ (p=0.095 n=5+5) _outputHeaders-4 29.0µs ± 3% 28.6µs ± 1% ~ (p=0.222 n=5+5) _requestResponseMapping-4 33.9µs ± 2% 33.9µs ± 1% ~ (p=0.421 n=5+5) _validation-4 36.2µs ± 1% 36.3µs ± 0% ~ (p=0.286 n=5+4) _noValidation-4 25.8µs ± 1% 25.6µs ± 1% -1.04% (p=0.016 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-4 18.0µs ± 1% 18.0µs ± 1% ~ (p=0.730 n=4+5) _ok-4 18.1µs ± 1% 18.6µs ± 8% ~ (p=0.905 n=4+5) _invalidBody-4 26.4µs ± 5% 26.4µs ± 4% ~ (p=1.000 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 ± 5% 0.70 ± 7% ~ (p=0.421 n=5+5) _directGzipHead-4 0.69 ± 4% 0.71 ± 5% ~ (p=0.222 n=5+5) _noDirectGzip-4 4.19 ± 6% 4.15 ± 2% ~ (p=0.690 n=5+5) _directGzip_decode-4 10.3 ± 4% 10.7 ± 8% ~ (p=0.690 n=5+5) _noDirectGzip_decode-4 4.14 ± 3% 4.09 ± 2% ~ (p=0.548 n=5+5) _jsonBody-4 1.44 ± 5% 1.47 ± 1% ~ (p=0.310 n=5+5) _jsonBodyValidation-4 1.62 ± 2% 1.69 ± 7% ~ (p=0.056 n=5+5) _outputHeaders-4 0.74 ± 7% 0.74 ± 6% ~ (p=1.000 n=5+5) _requestResponseMapping-4 1.42 ± 3% 1.38 ±11% ~ (p=0.151 n=5+5) _validation-4 1.48 ± 5% 1.46 ± 5% ~ (p=0.690 n=5+5) _noValidation-4 1.03 ± 8% 1.05 ± 5% ~ (p=0.381 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-4 0.71 ± 5% 0.72 ± 4% ~ (p=1.000 n=5+5) _directGzipHead-4 0.73 ± 8% 0.71 ± 7% ~ (p=0.310 n=5+5) _noDirectGzip-4 4.29 ± 6% 4.14 ± 6% ~ (p=0.222 n=5+5) _directGzip_decode-4 11.1 ±10% 11.1 ± 9% ~ (p=1.000 n=5+5) _noDirectGzip_decode-4 4.29 ± 7% 4.18 ± 6% ~ (p=0.333 n=5+5) _htmlResponse-4 1.22 ± 2% 1.25 ± 5% ~ (p=0.151 n=5+5) _jsonBodyManual-4 0.91 ± 5% 0.89 ± 5% ~ (p=0.421 n=5+5) _jsonBody-4 1.27 ± 6% 1.25 ± 6% ~ (p=0.738 n=5+5) _jsonBodyValidation-4 1.64 ± 7% 1.71 ± 4% ~ (p=0.056 n=5+5) _outputHeaders-4 1.18 ± 6% 1.15 ± 4% ~ (p=0.222 n=5+5) _requestResponseMapping-4 1.35 ± 6% 1.36 ± 5% ~ (p=1.000 n=5+5) _validation-4 1.49 ± 1% 1.47 ± 6% ~ (p=1.000 n=5+5) _noValidation-4 1.07 ±11% 1.07 ± 6% ~ (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 ± 9% 0.80 ± 6% ~ (p=0.421 n=5+5) _ok-4 0.83 ± 8% 0.82 ± 9% ~ (p=0.690 n=5+5) _invalidBody-4 1.10 ± 4% 1.12 ± 6% ~ (p=0.841 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.56 ± 9% 1.43 ± 2% -8.26% (p=0.008 n=5+5) _directGzipHead-4 1.44 ± 6% 1.45 ± 9% ~ (p=0.841 n=5+5) _noDirectGzip-4 8.75 ± 5% 8.46 ± 3% ~ (p=0.056 n=5+5) _directGzip_decode-4 32.8 ± 6% 32.8 ± 5% ~ (p=1.000 n=5+5) _noDirectGzip_decode-4 8.81 ± 2% 8.59 ± 4% ~ (p=0.310 n=5+5) _jsonBody-4 3.23 ± 5% 3.20 ± 3% ~ (p=0.841 n=5+5) _jsonBodyValidation-4 3.56 ± 3% 3.56 ± 3% ~ (p=0.952 n=5+5) _outputHeaders-4 1.46 ± 7% 1.45 ± 3% ~ (p=0.841 n=5+5) _requestResponseMapping-4 3.24 ± 3% 3.18 ± 6% ~ (p=0.548 n=5+5) _validation-4 3.45 ± 4% 3.41 ± 4% ~ (p=0.444 n=5+5) _noValidation-4 2.43 ± 3% 2.40 ± 3% ~ (p=0.421 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-4 1.51 ± 3% 1.50 ± 7% ~ (p=1.000 n=5+5) _directGzipHead-4 1.50 ± 9% 1.44 ± 4% ~ (p=0.151 n=5+5) _noDirectGzip-4 8.92 ± 4% 8.75 ± 4% ~ (p=0.548 n=5+5) _directGzip_decode-4 32.0 ± 5% 30.4 ± 4% ~ (p=0.056 n=5+5) _noDirectGzip_decode-4 8.63 ± 6% 8.65 ± 4% ~ (p=1.000 n=5+5) _htmlResponse-4 2.75 ± 4% 2.72 ± 6% ~ (p=0.421 n=5+5) _jsonBodyManual-4 1.81 ± 2% 1.82 ± 3% ~ (p=0.841 n=5+5) _jsonBody-4 2.95 ± 3% 2.94 ± 5% ~ (p=0.690 n=5+5) _jsonBodyValidation-4 3.69 ± 5% 3.72 ± 8% ~ (p=0.841 n=5+5) _outputHeaders-4 2.76 ± 6% 2.70 ± 5% ~ (p=0.310 n=5+5) _requestResponseMapping-4 3.19 ± 3% 3.09 ± 3% ~ (p=0.095 n=5+5) _validation-4 3.31 ± 4% 3.42 ± 2% ~ (p=0.056 n=5+5) _noValidation-4 2.39 ± 4% 2.39 ± 3% ~ (p=0.897 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-4 1.71 ±10% 1.64 ± 6% ~ (p=0.310 n=5+5) _ok-4 1.66 ±10% 1.71 ±14% ~ (p=0.548 n=5+5) _invalidBody-4 2.55 ±12% 2.52 ±11% ~ (p=0.841 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.62 ±20% 2.40 ± 5% ~ (p=0.952 n=5+5) _directGzipHead-4 2.45 ± 2% 2.58 ±25% ~ (p=1.000 n=5+5) _noDirectGzip-4 13.3 ± 7% 12.9 ± 3% ~ (p=0.452 n=5+5) _directGzip_decode-4 62.7 ±12% 63.7 ± 9% ~ (p=0.690 n=5+5) _noDirectGzip_decode-4 13.4 ± 3% 13.0 ± 4% -2.88% (p=0.040 n=5+5) _jsonBody-4 5.59 ±10% 5.45 ± 9% ~ (p=0.841 n=5+5) _jsonBodyValidation-4 6.09 ± 6% 6.06 ± 6% ~ (p=0.548 n=5+5) _outputHeaders-4 2.51 ± 4% 2.49 ± 2% ~ (p=0.841 n=5+5) _requestResponseMapping-4 5.61 ± 7% 5.70 ±11% ~ (p=0.841 n=5+5) _validation-4 6.26 ± 6% 6.26 ± 6% ~ (p=0.841 n=5+5) _noValidation-4 4.49 ± 8% 4.38 ± 7% ~ (p=0.548 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-4 2.43 ± 2% 2.53 ±19% ~ (p=0.841 n=5+5) _directGzipHead-4 2.48 ± 2% 2.48 ± 4% ~ (p=0.873 n=4+5) _noDirectGzip-4 13.9 ±15% 13.6 ± 3% ~ (p=1.000 n=5+5) _directGzip_decode-4 60.5 ±13% 60.0 ±11% ~ (p=0.548 n=5+5) _noDirectGzip_decode-4 13.2 ± 3% 13.7 ±10% ~ (p=0.421 n=5+5) _htmlResponse-4 4.85 ± 6% 4.77 ± 3% ~ (p=0.421 n=5+5) _jsonBodyManual-4 3.03 ± 4% 3.29 ± 0% +8.70% (p=0.016 n=5+4) _jsonBody-4 4.70 ± 2% 5.09 ± 8% ~ (p=0.056 n=5+5) _jsonBodyValidation-4 6.37 ±12% 6.47 ± 5% ~ (p=0.548 n=5+5) _outputHeaders-4 4.82 ±13% 4.67 ±10% ~ (p=0.421 n=5+5) _requestResponseMapping-4 5.45 ± 7% 5.11 ±11% ~ (p=0.095 n=5+5) _validation-4 5.58 ± 6% 5.57 ± 7% ~ (p=0.841 n=5+5) _noValidation-4 4.12 ± 6% 4.06 ± 6% ~ (p=0.841 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-4 2.54 ± 3% 2.57 ± 4% ~ (p=0.556 n=4+5) _ok-4 2.74 ±19% 2.98 ±30% ~ (p=0.548 n=5+5) _invalidBody-4 4.44 ± 7% 4.49 ± 2% ~ (p=0.690 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 5.51 ±65% 3.81 ±13% ~ (p=0.151 n=5+5) _directGzipHead-4 4.44 ±31% 4.76 ±48% ~ (p=0.690 n=5+5) _noDirectGzip-4 18.0 ±17% 17.0 ± 7% ~ (p=0.222 n=5+5) _directGzip_decode-4 90.5 ±11% 86.7 ±11% ~ (p=0.548 n=5+5) _noDirectGzip_decode-4 17.0 ± 4% 16.8 ±11% ~ (p=0.690 n=5+5) _jsonBody-4 9.26 ±15% 8.60 ± 6% ~ (p=0.222 n=5+5) _jsonBodyValidation-4 9.10 ±14% 8.82 ±12% ~ (p=0.690 n=5+5) _outputHeaders-4 5.33 ±16% 5.16 ±29% ~ (p=0.690 n=5+5) _requestResponseMapping-4 8.68 ± 2% 8.76 ± 9% ~ (p=1.000 n=5+5) _validation-4 9.70 ± 4% 9.93 ± 5% ~ (p=0.310 n=5+5) _noValidation-4 7.40 ±22% 8.01 ±28% ~ (p=0.841 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-4 4.22 ±23% 5.22 ±75% ~ (p=1.000 n=5+5) _directGzipHead-4 5.97 ±70% 4.78 ±11% ~ (p=0.421 n=5+5) _noDirectGzip-4 20.4 ±44% 18.8 ±10% ~ (p=1.000 n=5+5) _directGzip_decode-4 84.0 ±16% 77.4 ±10% ~ (p=0.310 n=5+5) _noDirectGzip_decode-4 17.3 ± 8% 20.3 ±44% ~ (p=0.222 n=5+5) _htmlResponse-4 7.52 ± 4% 8.15 ±32% ~ (p=0.690 n=5+5) _jsonBodyManual-4 5.59 ±12% 6.52 ±25% ~ (p=0.222 n=5+5) _jsonBody-4 7.24 ±12% 8.41 ± 8% +16.25% (p=0.016 n=5+5) _jsonBodyValidation-4 10.4 ±18% 10.1 ±10% ~ (p=0.333 n=5+5) _outputHeaders-4 8.46 ±20% 7.50 ±16% ~ (p=0.421 n=5+5) _requestResponseMapping-4 8.68 ±18% 8.51 ±14% ~ (p=0.841 n=5+5) _validation-4 9.40 ±16% 8.61 ±10% ~ (p=0.421 n=5+5) _noValidation-4 6.34 ± 7% 6.31 ± 9% ~ (p=1.000 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-4 5.15 ±79% 4.36 ±39% ~ (p=0.841 n=5+5) _ok-4 5.00 ±44% 6.32 ±56% ~ (p=1.000 n=5+5) _invalidBody-4 6.61 ±28% 6.60 ±20% ~ (p=0.841 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% ~ (all equal) _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 59.8k ± 6% 62.7k ± 1% +4.86% (p=0.032 n=5+5) _directGzipHead-4 62.6k ± 1% 63.3k ± 0% ~ (p=0.063 n=5+4) _noDirectGzip-4 10.9k ± 1% 11.0k ± 1% ~ (p=0.095 n=5+5) _directGzip_decode-4 3.09k ± 1% 3.07k ± 1% ~ (p=0.278 n=5+5) _noDirectGzip_decode-4 10.9k ± 1% 11.0k ± 1% ~ (p=0.095 n=5+5) _jsonBody-4 28.3k ± 3% 28.5k ± 2% ~ (p=1.000 n=5+5) _jsonBodyValidation-4 25.2k ± 2% 25.2k ± 0% ~ (p=0.841 n=5+5) _outputHeaders-4 61.0k ± 1% 60.8k ± 1% ~ (p=0.421 n=5+5) _requestResponseMapping-4 29.3k ± 2% 29.1k ± 3% ~ (p=1.000 n=5+5) _validation-4 27.1k ± 2% 27.2k ± 1% ~ (p=0.690 n=5+5) _noValidation-4 38.8k ± 1% 39.0k ± 1% ~ (p=0.548 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-4 61.5k ± 1% 60.6k ± 6% ~ (p=0.690 n=5+5) _directGzipHead-4 61.5k ± 1% 62.1k ± 2% ~ (p=0.190 n=4+5) _noDirectGzip-4 10.7k ± 2% 10.8k ± 0% ~ (p=0.421 n=5+5) _directGzip_decode-4 3.08k ± 1% 3.09k ± 0% ~ (p=0.294 n=5+5) _noDirectGzip_decode-4 10.8k ± 1% 10.7k ± 3% ~ (p=0.452 n=5+5) _htmlResponse-4 34.0k ± 1% 34.2k ± 0% ~ (p=0.310 n=5+5) _jsonBodyManual-4 49.0k ± 0% 49.6k ± 1% +1.25% (p=0.008 n=5+5) _jsonBody-4 32.3k ± 2% 32.7k ± 1% ~ (p=0.421 n=5+5) _jsonBodyValidation-4 25.1k ± 2% 25.3k ± 2% ~ (p=0.095 n=5+5) _outputHeaders-4 34.5k ± 3% 34.9k ± 1% ~ (p=0.222 n=5+5) _requestResponseMapping-4 29.5k ± 2% 29.5k ± 1% ~ (p=0.421 n=5+5) _validation-4 27.6k ± 1% 27.6k ± 0% ~ (p=0.286 n=5+4) _noValidation-4 38.7k ± 1% 39.1k ± 1% +1.05% (p=0.016 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-4 55.5k ± 1% 55.5k ± 1% ~ (p=0.730 n=4+5) _ok-4 54.6k ± 5% 53.9k ± 8% ~ (p=0.690 n=5+5) _invalidBody-4 37.9k ± 5% 37.9k ± 4% ~ (p=1.000 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=0.373 n=5+5) _directGzipHead-4 3.86kB ± 0% 3.86kB ± 0% ~ (p=0.976 n=5+5) _noDirectGzip-4 6.80kB ±33% 6.61kB ±19% ~ (p=1.000 n=5+5) _directGzip_decode-4 404kB ± 0% 404kB ± 0% ~ (p=0.548 n=5+5) _noDirectGzip_decode-4 5.96kB ± 7% 5.66kB ± 6% ~ (p=0.151 n=5+5) _jsonBody-4 13.2kB ± 0% 13.2kB ± 0% ~ (p=0.690 n=5+5) _jsonBodyValidation-4 19.0kB ± 0% 19.0kB ± 0% ~ (p=0.310 n=5+5) _outputHeaders-4 3.57kB ± 0% 3.57kB ± 0% ~ (p=0.444 n=5+5) _requestResponseMapping-4 16.7kB ± 0% 16.7kB ± 0% ~ (p=0.444 n=5+4) _validation-4 16.6kB ± 0% 16.6kB ± 0% ~ (p=0.595 n=5+5) _noValidation-4 7.79kB ± 0% 7.79kB ± 0% ~ (p=0.873 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.286 n=5+5) _directGzipHead-4 3.87kB ± 0% 3.87kB ± 0% ~ (p=0.810 n=5+5) _noDirectGzip-4 7.25kB ±19% 7.23kB ±21% ~ (p=1.000 n=5+5) _directGzip_decode-4 404kB ± 0% 404kB ± 0% ~ (p=0.548 n=5+5) _noDirectGzip_decode-4 6.03kB ±11% 6.56kB ± 9% ~ (p=0.095 n=5+5) _htmlResponse-4 8.07kB ± 0% 8.07kB ± 0% ~ (p=0.190 n=5+5) _jsonBodyManual-4 4.48kB ± 0% 4.48kB ± 0% ~ (p=0.397 n=4+5) _jsonBody-4 10.2kB ± 0% 10.3kB ± 0% ~ (p=0.214 n=5+5) _jsonBodyValidation-4 19.1kB ± 0% 19.1kB ± 0% ~ (p=0.214 n=5+5) _outputHeaders-4 10.4kB ± 0% 10.4kB ± 0% ~ (p=0.373 n=5+5) _requestResponseMapping-4 16.7kB ± 0% 16.7kB ± 0% ~ (p=0.802 n=5+5) _validation-4 16.6kB ± 0% 16.6kB ± 0% ~ (p=0.643 n=5+5) _noValidation-4 7.83kB ± 0% 7.83kB ± 0% ~ (p=0.460 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.738 n=5+5) _ok-4 4.55kB ± 0% 4.56kB ± 0% ~ (p=0.114 n=4+4) _invalidBody-4 8.27kB ± 0% 8.27kB ± 0% ~ (p=0.886 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% 503 ± 0% ~ (p=0.556 n=4+5) _noDirectGzip_decode-4 50.0 ± 0% 50.0 ± 0% ~ (all equal) _jsonBody-4 129 ± 0% 128 ± 0% ~ (p=0.095 n=4+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% ~ (all equal) _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 504 ± 0% 504 ± 0% ~ (p=0.643 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 156 ± 0% 156 ± 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) ```