Sam Ottenhoff
997d3f6b0a
encode: add standard benchmark and conformance harness (#7804)
This is a shared encode_test harness with HTML/JSON/JS/CSS payloads taken from caddyserver.com
Benchmarks:
- BenchmarkStandardEncodingPayloads: raw encoder NewEncoder/Write/Close path
- BenchmarkEncodeHandlerCorpus: full Encode.ServeHTTP middleware path
- Grid: 4 payloads × gzip levels 1/5/9 × zstd fastest/default/best
- Each subtest runs with 4 parallel workers; compare runs on MB/s and allocs/op
Conformance tests:
- Encoder contract: Reset, Flush, Close, and pool-style Reset-after-Close reuse
- Corpus HTTP encoding: Content-Encoding, Vary, ETag suffix, header stripping
- Response semantics: minimum_length, 304, HEAD, range, WebSocket bypass,
If-None-Match rewrite, Cache-Control no-transform, content-type matcher rejection
2026-06-11 17:55:18 -06:00
..
2026-05-20 13:51:54 +00:00
2026-06-11 17:55:18 -06:00
2026-06-11 17:55:18 -06:00
2026-02-26 14:01:35 -07:00
2025-10-21 04:48:07 +00:00
2025-12-16 23:42:42 -05:00
2024-09-25 14:30:56 -06:00
2024-10-10 16:21:26 -04:00
2026-01-13 14:13:43 -05:00
2025-09-26 03:14:48 -04:00
2026-06-10 23:31:04 -04:00
2026-05-26 16:51:18 -06:00
2024-05-13 17:38:18 +00:00
2026-06-01 13:35:02 -06:00
2026-04-25 06:52:08 -04:00
2026-06-09 12:07:27 -06:00
2026-05-10 13:10:29 +10:00
2026-05-10 13:10:29 +10:00
2024-06-04 14:23:55 -06:00
2024-11-04 23:18:50 +00:00
2026-05-20 16:36:30 +10:00
2026-05-20 16:36:30 +10:00
2026-02-11 09:15:51 -07:00
2026-05-20 16:36:30 +10:00
2026-05-20 16:36:30 +10:00
2023-05-16 15:27:52 +00:00
2025-08-18 17:08:46 -06:00
2024-08-12 05:47:05 -04:00
2025-11-12 13:29:47 -07:00
2026-04-17 14:56:42 -06:00
2026-05-21 11:28:40 -06:00
2026-05-21 11:28:40 -06:00
2026-04-25 06:52:08 -04:00
2026-04-25 06:52:08 -04:00
2026-06-04 11:03:19 -04:00
2026-06-04 11:03:19 -04:00
2021-05-02 12:39:06 -06:00
2024-12-20 11:16:34 -07:00
2024-04-24 00:05:57 +00:00
2025-01-27 08:18:37 -07:00
2026-05-07 03:40:26 -04:00
2026-05-29 11:37:17 -06:00
2026-06-09 12:07:27 -06:00
2024-08-22 11:32:44 -06:00
2021-09-29 11:17:48 -06:00
2026-02-17 16:52:54 -07:00
2020-06-04 12:06:38 -06:00
2026-04-10 16:27:52 -06:00
2026-04-10 09:37:43 -06:00