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

Update dynamic schema example #172

Closed vearutop closed 10 months ago

github-actions[bot] commented 10 months ago

Lines Of Code

Language Files Lines Code Comments Blanks Complexity Bytes
Go 111 8327 (+2) 6039 (+2) 574 1714 1011 202.3K (+58B)
JSON 3 1611 1611 0 0 0 63.7K (-24B)
github-actions[bot] commented 10 months ago

Go API Changes

# summary
Inferred base version: v0.2.58
Suggested version: v0.2.59
github-actions[bot] commented 10 months ago

Unit Test Coverage

total: (statements) 81.1%

Coverage of changed lines No changes in testable statements.
Coverage diff with base branch No changes in coverage.
codecov[bot] commented 10 months ago

Codecov Report

Merging #172 (f483e1c) into master (2242740) will decrease coverage by 0.59%. Report is 1 commits behind head on master. The diff coverage is 4.76%.

@@            Coverage Diff             @@
##           master     #172      +/-   ##
==========================================
- Coverage   76.68%   76.09%   -0.59%     
==========================================
  Files          30       30              
  Lines        1677     1690      +13     
==========================================
  Hits         1286     1286              
- Misses        284      293       +9     
- Partials      107      111       +4     
Flag Coverage Δ
unittests 76.09% <4.76%> (-0.59%) :arrow_down:

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

Files Changed Coverage Δ
nethttp/wrapper.go 87.50% <0.00%> (ø)
request/decoder.go 62.90% <0.00%> (-2.10%) :arrow_down:
response/encoder.go 65.06% <5.55%> (-3.01%) :arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

github-actions[bot] commented 10 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-2 1.32µs ± 1% 1.35µs ± 6% ~ (p=0.225 n=6+6) pkg:github.com/swaggest/rest/request goos:linux goarch:amd64 Decoder_Decode-2 678ns ± 0% 677ns ± 1% ~ (p=0.970 n=5+6) DecoderFunc_Decode-2 2.07µs ± 4% 2.07µs ± 3% ~ (p=0.968 n=6+6) Decoder_Decode_json-2 22.8µs ± 0% 22.9µs ± 0% +0.59% (p=0.017 n=6+5) Decoder_Decode_queryObject-2 5.20µs ± 1% 5.21µs ± 1% ~ (p=0.377 n=6+6) Decoder_Decode_jsonParam-2 2.05µs ± 0% 2.05µs ± 0% ~ (p=0.635 n=5+5) DecoderFactory_SetDecoderFunc-2 1.85µs ± 1% 1.83µs ± 3% ~ (p=0.113 n=5+6) pkg:github.com/swaggest/rest/response/gzip goos:linux goarch:amd64 Middleware-2 11.5µs ± 0% 11.5µs ± 0% ~ (p=0.889 n=5+5) Middleware_control-2 3.20µs ± 1% 3.21µs ± 2% ~ (p=0.931 n=5+6) 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.16kB ± 5% 1.17kB ± 3% ~ (p=0.853 n=6+6) 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.35µs ± 6% pkg:github.com/swaggest/rest/request goos:linux goarch:amd64 Decoder_Decode-2 677ns ± 1% DecoderFunc_Decode-2 2.07µs ± 3% Decoder_Decode_json-2 22.9µs ± 0% Decoder_Decode_queryObject-2 5.21µs ± 1% Decoder_Decode_jsonParam-2 2.05µs ± 0% DecoderFactory_SetDecoderFunc-2 1.83µs ± 3% pkg:github.com/swaggest/rest/response/gzip goos:linux goarch:amd64 Middleware-2 11.5µs ± 0% Middleware_control-2 3.21µ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.17kB ± 3% 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 10 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-2 39.2µs ±52% 28.2µs ± 7% ~ (p=0.310 n=5+5) _directGzipHead-2 27.9µs ± 3% 27.7µs ± 3% ~ (p=0.548 n=5+5) _noDirectGzip-2 160µs ± 1% 158µs ± 1% -1.51% (p=0.032 n=5+5) _directGzip_decode-2 581µs ± 5% 587µs ± 3% ~ (p=0.548 n=5+5) _noDirectGzip_decode-2 159µs ± 1% 160µs ± 2% ~ (p=0.905 n=5+4) _jsonBody-2 58.7µs ± 2% 59.0µs ± 2% ~ (p=0.548 n=5+5) _jsonBodyValidation-2 70.5µs ± 3% 70.4µs ± 2% ~ (p=1.000 n=5+5) _outputHeaders-2 29.1µs ± 2% 29.3µs ± 7% ~ (p=0.548 n=5+5) _requestResponseMapping-2 60.8µs ± 9% 59.1µs ± 1% ~ (p=0.222 n=5+5) _validation-2 62.7µs ± 1% 62.9µs ± 2% ~ (p=0.421 n=5+5) _noValidation-2 44.8µs ± 3% 44.6µs ± 2% ~ (p=0.548 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-2 28.6µs ± 1% 30.2µs ±17% ~ (p=0.190 n=4+5) _directGzipHead-2 29.0µs ± 1% 29.1µs ± 1% ~ (p=0.421 n=5+5) _noDirectGzip-2 153µs ± 2% 153µs ± 2% ~ (p=1.000 n=5+5) _directGzip_decode-2 579µs ± 3% 576µs ± 1% ~ (p=0.421 n=5+5) _noDirectGzip_decode-2 154µs ± 1% 153µs ± 1% ~ (p=0.222 n=5+5) _htmlResponse-2 49.0µs ± 1% 49.3µs ± 2% ~ (p=0.690 n=5+5) _jsonBodyManual-2 35.0µs ± 2% 35.2µs ± 3% ~ (p=0.421 n=5+5) _jsonBody-2 52.6µs ± 1% 52.0µs ± 1% ~ (p=0.151 n=5+5) _jsonBodyValidation-2 69.6µs ± 2% 70.2µs ± 2% ~ (p=0.421 n=5+5) _outputHeaders-2 50.4µs ± 3% 50.4µs ± 2% ~ (p=0.690 n=5+5) _requestResponseMapping-2 59.2µs ± 3% 59.9µs ± 3% ~ (p=0.548 n=5+5) _validation-2 63.5µs ± 2% 65.1µs ± 1% +2.44% (p=0.016 n=5+5) _noValidation-2 44.6µs ± 3% 45.7µs ± 1% ~ (p=0.151 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-2 30.9µs ± 2% 31.3µs ± 1% ~ (p=0.111 n=4+5) _ok-2 30.9µs ± 1% 31.1µs ± 1% ~ (p=0.286 n=5+4) _invalidBody-2 46.9µs ± 3% 46.1µs ± 1% ~ (p=0.056 n=5+5) name old 50%:ms new 50%:ms delta pkg:github.com/swaggest/rest/_examples/advanced goos:linux goarch:amd64 _directGzip-2 1.56 ±27% 1.31 ± 2% ~ (p=0.206 n=5+5) _directGzipHead-2 1.28 ± 3% 1.32 ± 6% ~ (p=0.222 n=5+5) _noDirectGzip-2 7.77 ± 5% 7.45 ± 4% ~ (p=0.063 n=5+5) _directGzip_decode-2 21.6 ± 3% 21.9 ± 5% ~ (p=0.548 n=5+5) _noDirectGzip_decode-2 7.61 ± 4% 7.97 ± 9% ~ (p=0.222 n=5+5) _jsonBody-2 2.65 ± 6% 2.67 ± 7% ~ (p=1.000 n=5+5) _jsonBodyValidation-2 3.37 ± 6% 3.22 ± 3% ~ (p=0.095 n=5+5) _outputHeaders-2 1.38 ± 9% 1.33 ± 5% ~ (p=0.548 n=5+5) _requestResponseMapping-2 2.74 ± 9% 2.59 ± 4% ~ (p=0.151 n=5+5) _validation-2 2.83 ± 5% 2.81 ± 4% ~ (p=1.000 n=5+5) _noValidation-2 1.94 ± 4% 1.95 ± 6% ~ (p=0.841 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-2 1.39 ± 5% 1.41 ± 2% ~ (p=0.222 n=5+5) _directGzipHead-2 1.39 ± 7% 1.39 ± 7% ~ (p=0.889 n=5+5) _noDirectGzip-2 7.23 ± 5% 7.45 ± 5% ~ (p=0.222 n=5+5) _directGzip_decode-2 22.3 ± 7% 21.2 ± 7% ~ (p=0.095 n=5+5) _noDirectGzip_decode-2 7.26 ± 3% 7.42 ± 4% ~ (p=0.310 n=5+5) _htmlResponse-2 2.23 ± 1% 2.23 ± 8% ~ (p=0.690 n=5+5) _jsonBodyManual-2 1.63 ± 7% 1.63 ± 6% ~ (p=0.841 n=5+5) _jsonBody-2 2.29 ± 4% 2.29 ± 7% ~ (p=1.000 n=5+5) _jsonBodyValidation-2 3.16 ± 5% 3.27 ± 8% ~ (p=0.310 n=5+5) _outputHeaders-2 2.13 ± 3% 2.10 ± 3% ~ (p=0.548 n=5+5) _requestResponseMapping-2 2.57 ± 5% 2.58 ± 9% ~ (p=0.841 n=5+5) _validation-2 2.70 ± 2% 2.87 ± 4% +6.44% (p=0.008 n=5+5) _noValidation-2 1.95 ± 8% 1.94 ± 3% ~ (p=0.690 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-2 1.49 ± 5% 1.44 ± 1% ~ (p=0.151 n=5+5) _ok-2 1.44 ± 5% 1.52 ±10% ~ (p=0.222 n=5+5) _invalidBody-2 2.07 ± 5% 2.02 ± 4% ~ (p=0.151 n=5+5) name old 90%:ms new 90%:ms delta pkg:github.com/swaggest/rest/_examples/advanced goos:linux goarch:amd64 _directGzip-2 4.37 ±86% 2.39 ± 4% ~ (p=0.548 n=5+5) _directGzipHead-2 2.33 ± 7% 2.34 ± 4% ~ (p=1.000 n=5+5) _noDirectGzip-2 14.0 ± 4% 13.5 ± 4% ~ (p=0.095 n=5+5) _directGzip_decode-2 47.5 ± 4% 48.3 ±11% ~ (p=1.000 n=5+5) _noDirectGzip_decode-2 13.5 ± 4% 14.3 ±18% ~ (p=0.151 n=5+5) _jsonBody-2 5.32 ± 5% 5.31 ± 2% ~ (p=0.841 n=5+5) _jsonBodyValidation-2 6.09 ± 4% 6.36 ± 4% ~ (p=0.095 n=5+5) _outputHeaders-2 2.47 ± 6% 2.43 ± 4% ~ (p=0.421 n=5+5) _requestResponseMapping-2 5.45 ± 8% 5.29 ± 3% ~ (p=0.690 n=5+5) _validation-2 5.60 ± 2% 5.73 ± 6% ~ (p=0.198 n=5+5) _noValidation-2 4.30 ± 6% 4.29 ± 6% ~ (p=0.881 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-2 2.48 ± 6% 2.53 ± 6% ~ (p=0.548 n=5+5) _directGzipHead-2 2.51 ± 4% 2.41 ± 3% ~ (p=0.056 n=5+5) _noDirectGzip-2 12.8 ± 5% 13.0 ± 2% ~ (p=0.310 n=5+5) _directGzip_decode-2 47.8 ± 4% 49.2 ± 8% ~ (p=0.310 n=5+5) _noDirectGzip_decode-2 13.1 ± 4% 12.8 ± 4% ~ (p=0.222 n=5+5) _htmlResponse-2 4.43 ± 4% 4.53 ± 6% ~ (p=0.310 n=5+5) _jsonBodyManual-2 2.97 ± 3% 3.03 ± 8% ~ (p=0.421 n=5+5) _jsonBody-2 4.93 ± 7% 4.87 ± 3% ~ (p=0.595 n=5+5) _jsonBodyValidation-2 6.21 ± 3% 6.32 ± 8% ~ (p=0.841 n=5+5) _outputHeaders-2 4.75 ± 3% 4.88 ± 4% ~ (p=0.222 n=5+5) _requestResponseMapping-2 5.60 ± 6% 5.45 ± 8% ~ (p=0.421 n=5+5) _validation-2 5.74 ± 4% 6.00 ± 7% ~ (p=0.095 n=5+5) _noValidation-2 4.18 ± 6% 4.40 ± 3% ~ (p=0.095 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-2 2.70 ±11% 2.76 ± 4% ~ (p=0.548 n=5+5) _ok-2 2.63 ± 5% 2.74 ±18% ~ (p=0.746 n=5+5) _invalidBody-2 4.44 ± 3% 4.38 ± 5% ~ (p=0.548 n=5+5) name old 99%:ms new 99%:ms delta pkg:github.com/swaggest/rest/_examples/advanced goos:linux goarch:amd64 _directGzip-2 8.76 ±85% 3.95 ± 4% -54.93% (p=0.032 n=5+4) _directGzipHead-2 4.27 ±10% 4.12 ±12% ~ (p=0.310 n=5+5) _noDirectGzip-2 21.3 ± 5% 20.7 ± 6% ~ (p=0.421 n=5+5) _directGzip_decode-2 81.0 ±20% 82.2 ±11% ~ (p=0.690 n=5+5) _noDirectGzip_decode-2 20.4 ± 4% 21.7 ± 2% +6.57% (p=0.016 n=5+4) _jsonBody-2 8.35 ± 6% 8.83 ±14% ~ (p=0.690 n=5+5) _jsonBodyValidation-2 10.5 ±21% 10.5 ±19% ~ (p=1.000 n=5+5) _outputHeaders-2 4.78 ±10% 4.70 ± 3% ~ (p=0.905 n=5+4) _requestResponseMapping-2 10.6 ±50% 8.6 ±20% ~ (p=0.310 n=5+5) _validation-2 8.61 ±16% 8.49 ± 7% ~ (p=1.000 n=5+5) _noValidation-2 7.42 ±21% 7.34 ±10% ~ (p=1.000 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-2 4.13 ± 6% 4.11 ± 8% ~ (p=0.886 n=4+4) _directGzipHead-2 4.48 ±10% 4.59 ± 7% ~ (p=0.548 n=5+5) _noDirectGzip-2 19.9 ± 7% 20.1 ± 4% ~ (p=1.000 n=5+5) _directGzip_decode-2 84.6 ± 9% 80.4 ±15% ~ (p=0.548 n=5+5) _noDirectGzip_decode-2 20.5 ± 4% 19.1 ± 5% -6.49% (p=0.008 n=5+5) _htmlResponse-2 7.27 ± 7% 7.18 ± 4% ~ (p=0.690 n=5+5) _jsonBodyManual-2 5.59 ±10% 5.49 ± 8% ~ (p=0.690 n=5+5) _jsonBody-2 7.91 ±14% 7.43 ±10% ~ (p=0.151 n=5+5) _jsonBodyValidation-2 8.71 ± 3% 8.81 ±13% ~ (p=0.841 n=5+5) _outputHeaders-2 7.87 ±24% 8.24 ± 8% ~ (p=0.421 n=5+5) _requestResponseMapping-2 8.35 ±26% 8.48 ±22% ~ (p=0.690 n=5+5) _validation-2 8.65 ±16% 9.94 ±23% ~ (p=0.222 n=5+5) _noValidation-2 7.14 ±13% 7.46 ± 5% ~ (p=0.548 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-2 4.23 ± 6% 4.40 ± 7% ~ (p=0.413 n=4+5) _ok-2 4.23 ± 2% 4.24 ± 5% ~ (p=1.000 n=5+4) _invalidBody-2 8.03 ±15% 7.57 ±14% ~ (p=0.421 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-2 15.1 ±68% 8.2 ±93% ~ (p=0.056 n=5+5) _directGzipHead-2 8.32 ±36% 8.24 ±36% ~ (p=1.000 n=5+5) _noDirectGzip-2 25.9 ±11% 24.5 ±22% ~ (p=0.421 n=5+5) _directGzip_decode-2 107 ±11% 102 ±10% ~ (p=0.595 n=5+5) _noDirectGzip_decode-2 24.4 ± 9% 27.8 ±24% ~ (p=0.421 n=5+5) _jsonBody-2 14.9 ±22% 13.5 ±24% ~ (p=0.548 n=5+5) _jsonBodyValidation-2 16.4 ±20% 17.9 ±15% ~ (p=0.310 n=5+5) _outputHeaders-2 9.61 ±18% 10.22 ±48% ~ (p=0.841 n=5+5) _requestResponseMapping-2 16.8 ±48% 14.4 ±29% ~ (p=0.841 n=5+5) _validation-2 16.0 ±22% 13.4 ±32% ~ (p=0.421 n=5+5) _noValidation-2 14.1 ±22% 13.2 ±19% ~ (p=0.690 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-2 8.37 ±106% 10.16 ±70% ~ (p=0.421 n=5+5) _directGzipHead-2 9.05 ±26% 10.83 ±28% ~ (p=0.222 n=5+5) _noDirectGzip-2 23.2 ± 7% 22.5 ± 8% ~ (p=0.421 n=5+5) _directGzip_decode-2 111 ±14% 113 ±12% ~ (p=1.000 n=5+5) _noDirectGzip_decode-2 25.1 ±17% 22.6 ±10% ~ (p=0.310 n=5+5) _htmlResponse-2 11.7 ±44% 12.3 ±47% ~ (p=0.548 n=5+5) _jsonBodyManual-2 11.0 ±27% 8.9 ±23% ~ (p=0.151 n=5+5) _jsonBody-2 13.8 ±37% 12.2 ±18% ~ (p=0.421 n=5+5) _jsonBodyValidation-2 12.9 ±29% 13.1 ±34% ~ (p=1.000 n=5+5) _outputHeaders-2 13.3 ±48% 13.6 ±34% ~ (p=0.841 n=5+5) _requestResponseMapping-2 13.2 ±24% 14.5 ±32% ~ (p=0.690 n=5+5) _validation-2 14.7 ±47% 16.1 ±31% ~ (p=0.548 n=5+5) _noValidation-2 13.9 ±39% 13.6 ±22% ~ (p=1.000 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-2 9.65 ±134% 7.96 ±37% ~ (p=0.548 n=5+5) _ok-2 7.85 ±69% 8.53 ±87% ~ (p=1.000 n=5+5) _invalidBody-2 15.0 ±39% 11.8 ±23% ~ (p=0.310 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 630 ± 0% 630 ± 0% ~ (all equal) _directGzipHead-2 174 ± 0% 174 ± 0% ~ (all equal) _noDirectGzip-2 1.03k ± 0% 1.03k ± 0% ~ (all equal) _directGzip_decode-2 630 ± 0% 630 ± 0% ~ (all equal) _noDirectGzip_decode-2 1.03k ± 0% 1.03k ± 0% ~ (all equal) _jsonBody-2 199 ± 0% 199 ± 0% ~ (all equal) _jsonBodyValidation-2 185 ± 0% 185 ± 0% ~ (all equal) _outputHeaders-2 146 ± 0% 146 ± 0% ~ (all equal) _requestResponseMapping-2 94.0 ± 0% 94.0 ± 0% ~ (all equal) _validation-2 168 ± 0% 168 ± 0% ~ (all equal) _noValidation-2 168 ± 0% 168 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-2 638 ± 0% 638 ± 0% ~ (all equal) _directGzipHead-2 182 ± 0% 182 ± 0% ~ (all equal) _noDirectGzip-2 1.04k ± 0% 1.04k ± 0% ~ (all equal) _directGzip_decode-2 638 ± 0% 638 ± 0% ~ (all equal) _noDirectGzip_decode-2 1.04k ± 0% 1.04k ± 0% ~ (all equal) _htmlResponse-2 355 ± 0% 355 ± 0% ~ (all equal) _jsonBodyManual-2 207 ± 0% 207 ± 0% ~ (all equal) _jsonBody-2 207 ± 0% 207 ± 0% ~ (all equal) _jsonBodyValidation-2 193 ± 0% 193 ± 0% ~ (all equal) _outputHeaders-2 214 ± 0% 214 ± 0% ~ (all equal) _requestResponseMapping-2 108 ± 0% 108 ± 0% ~ (all equal) _validation-2 176 ± 0% 176 ± 0% ~ (all equal) _noValidation-2 176 ± 0% 176 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-2 322 ± 0% 322 ± 0% ~ (all equal) _ok-2 344 ± 0% 344 ± 0% ~ (all equal) _invalidBody-2 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-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-openapi31 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) _htmlResponse-2 108 ± 0% 108 ± 0% ~ (all equal) _jsonBodyManual-2 195 ± 0% 195 ± 0% ~ (all equal) _jsonBody-2 188 ± 0% 188 ± 0% ~ (all equal) _jsonBodyValidation-2 192 ± 0% 192 ± 0% ~ (all equal) _outputHeaders-2 88.0 ± 0% 88.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 28.7k ±41% 35.5k ± 7% ~ (p=0.310 n=5+5) _directGzipHead-2 35.8k ± 3% 36.1k ± 3% ~ (p=0.548 n=5+5) _noDirectGzip-2 6.23k ± 1% 6.33k ± 1% +1.54% (p=0.032 n=5+5) _directGzip_decode-2 1.72k ± 5% 1.70k ± 3% ~ (p=0.548 n=5+5) _noDirectGzip_decode-2 6.27k ± 1% 6.25k ± 2% ~ (p=0.905 n=5+4) _jsonBody-2 17.0k ± 2% 17.0k ± 2% ~ (p=0.548 n=5+5) _jsonBodyValidation-2 14.2k ± 3% 14.2k ± 2% ~ (p=1.000 n=5+5) _outputHeaders-2 34.3k ± 2% 34.2k ± 7% ~ (p=0.548 n=5+5) _requestResponseMapping-2 16.5k ± 8% 16.9k ± 1% ~ (p=0.222 n=5+5) _validation-2 15.9k ± 1% 15.9k ± 2% ~ (p=0.421 n=5+5) _noValidation-2 22.3k ± 3% 22.4k ± 2% ~ (p=0.548 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-2 35.0k ± 1% 33.3k ±15% ~ (p=0.286 n=4+5) _directGzipHead-2 34.5k ± 1% 34.3k ± 1% ~ (p=0.421 n=5+5) _noDirectGzip-2 6.53k ± 2% 6.54k ± 2% ~ (p=1.000 n=5+5) _directGzip_decode-2 1.73k ± 3% 1.74k ± 1% ~ (p=0.333 n=5+5) _noDirectGzip_decode-2 6.50k ± 1% 6.55k ± 1% ~ (p=0.222 n=5+5) _htmlResponse-2 20.4k ± 1% 20.3k ± 2% ~ (p=0.690 n=5+5) _jsonBodyManual-2 28.6k ± 2% 28.4k ± 3% ~ (p=0.421 n=5+5) _jsonBody-2 19.0k ± 1% 19.2k ± 1% ~ (p=0.151 n=5+5) _jsonBodyValidation-2 14.4k ± 2% 14.3k ± 2% ~ (p=0.421 n=5+5) _outputHeaders-2 19.8k ± 3% 19.8k ± 2% ~ (p=0.690 n=5+5) _requestResponseMapping-2 16.9k ± 3% 16.7k ± 3% ~ (p=0.548 n=5+5) _validation-2 15.7k ± 2% 15.4k ± 1% -2.39% (p=0.016 n=5+5) _noValidation-2 22.4k ± 3% 21.9k ± 1% ~ (p=0.151 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-2 31.0k ±17% 32.0k ± 1% ~ (p=0.421 n=5+5) _ok-2 32.3k ± 1% 32.2k ± 1% ~ (p=0.286 n=5+4) _invalidBody-2 21.3k ± 3% 21.7k ± 1% ~ (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-2 3.86kB ± 1% 3.85kB ± 0% ~ (p=0.190 n=5+5) _directGzipHead-2 3.85kB ± 0% 3.85kB ± 0% ~ (p=0.881 n=5+5) _noDirectGzip-2 7.03kB ±19% 6.96kB ±18% ~ (p=0.841 n=5+5) _directGzip_decode-2 403kB ± 0% 403kB ± 0% ~ (p=0.310 n=5+5) _noDirectGzip_decode-2 5.81kB ± 6% 6.05kB ±10% ~ (p=0.421 n=5+5) _jsonBody-2 13.1kB ± 0% 13.1kB ± 0% ~ (p=0.659 n=5+5) _jsonBodyValidation-2 18.9kB ± 0% 18.9kB ± 0% ~ (p=0.325 n=5+5) _outputHeaders-2 3.57kB ± 0% 3.57kB ± 0% ~ (p=1.000 n=5+5) _requestResponseMapping-2 16.6kB ± 0% 16.6kB ± 0% ~ (p=0.310 n=5+5) _validation-2 16.5kB ± 0% 16.5kB ± 0% ~ (p=0.151 n=5+5) _noValidation-2 7.76kB ± 0% 7.75kB ± 0% ~ (p=0.468 n=5+5) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-2 3.88kB ± 0% 3.88kB ± 0% ~ (p=0.833 n=5+5) _directGzipHead-2 3.88kB ± 0% 3.88kB ± 0% ~ (p=0.905 n=5+5) _noDirectGzip-2 7.00kB ±21% 7.01kB ±21% ~ (p=1.000 n=5+5) _directGzip_decode-2 403kB ± 0% 403kB ± 0% ~ (p=0.690 n=5+5) _noDirectGzip_decode-2 5.97kB ± 6% 5.62kB ± 5% ~ (p=0.095 n=5+5) _htmlResponse-2 8.06kB ± 0% 8.06kB ± 0% ~ (p=0.492 n=5+5) _jsonBodyManual-2 4.49kB ± 0% 4.49kB ± 0% ~ (p=0.079 n=4+5) _jsonBody-2 10.2kB ± 0% 10.2kB ± 0% ~ (p=0.984 n=5+5) _jsonBodyValidation-2 19.0kB ± 0% 19.0kB ± 0% ~ (p=0.294 n=5+5) _outputHeaders-2 10.4kB ± 0% 10.4kB ± 0% ~ (p=0.667 n=5+5) _requestResponseMapping-2 16.6kB ± 0% 16.6kB ± 0% ~ (p=0.302 n=5+5) _validation-2 16.6kB ± 0% 16.6kB ± 0% ~ (p=0.738 n=5+5) _noValidation-2 7.82kB ± 0% 7.82kB ± 0% ~ (p=1.000 n=5+5) pkg:github.com/swaggest/rest/_examples/task-api/internal/infra/nethttp goos:linux goarch:amd64 _notFoundSrv-2 4.63kB ± 0% 4.63kB ± 0% ~ (p=0.516 n=5+5) _ok-2 4.54kB ± 0% 4.54kB ± 0% ~ (p=0.486 n=4+4) _invalidBody-2 8.25kB ± 0% 8.25kB ± 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.8 ± 4% 49.8 ± 4% ~ (p=1.000 n=5+5) _directGzip_decode-2 505 ± 0% 504 ± 0% ~ (p=0.444 n=5+5) _noDirectGzip_decode-2 50.0 ± 0% 50.0 ± 0% ~ (all equal) _jsonBody-2 128 ± 0% 128 ± 0% ~ (all equal) _jsonBodyValidation-2 185 ± 0% 185 ± 0% ~ (all equal) _outputHeaders-2 36.0 ± 0% 36.0 ± 0% ~ (all equal) _requestResponseMapping-2 124 ± 0% 124 ± 0% ~ (all equal) _validation-2 154 ± 0% 154 ± 0% ~ (all equal) _noValidation-2 91.0 ± 0% 91.0 ± 0% ~ (all equal) pkg:github.com/swaggest/rest/_examples/advanced-generic-openapi31 goos:linux goarch:amd64 _directGzip-2 44.0 ± 0% 44.0 ± 0% ~ (all equal) _directGzipHead-2 44.0 ± 0% 44.0 ± 0% ~ (all equal) _noDirectGzip-2 51.8 ± 3% 51.8 ± 3% ~ (p=1.000 n=5+5) _directGzip_decode-2 506 ± 0% 506 ± 0% ~ (p=1.000 n=5+5) _noDirectGzip_decode-2 52.0 ± 0% 52.0 ± 0% ~ (all equal) _htmlResponse-2 145 ± 0% 145 ± 0% ~ (all equal) _jsonBodyManual-2 49.0 ± 0% 49.0 ± 0% ~ (all equal) _jsonBody-2 100 ± 0% 100 ± 0% ~ (all equal) _jsonBodyValidation-2 187 ± 0% 187 ± 0% ~ (all equal) _outputHeaders-2 113 ± 0% 113 ± 0% ~ (all equal) _requestResponseMapping-2 126 ± 0% 126 ± 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 53.0 ± 0% 53.0 ± 0% ~ (all equal) _ok-2 49.0 ± 0% 49.0 ± 0% ~ (all equal) _invalidBody-2 97.0 ± 0% 97.0 ± 0% ~ (all equal) ```