Robert Landers
07842f4036
switch to cloxcache
...
Signed-off-by: Robert Landers <landers.robert@gmail.com >
2025-12-06 12:28:13 +01:00
Alexander Stecher
98573ed7c0
refactor: extract the state module and make the backoff error instead of panic
...
This PR:
- moves state.go to its own module
- moves the phpheaders test the phpheaders module
- simplifies backoff.go
- makes the backoff error instead of panic (so it can be tested)
- removes some unused C structs
2025-12-02 23:10:12 +01:00
Max
c9ad9fc55a
headerKeyCache: use otter v2 ( #2040 )
...
Benchmarks show that version 1, while extremely fast with hot keys,
becomes several times slower than no‑cache under frequent misses.
Version 2 delivers consistently better performance across all scenarios,
with no allocations and stable latency.
```
BenchmarkGetUnCommonHeaderNoCacheSequential-12 7545640 169.4 ns/op 72 B/op 4 allocs/op
BenchmarkGetUnCommonHeaderV2Sequential-12 14471982 85.98 ns/op 0 B/op 0 allocs/op
BenchmarkGetUnCommonHeaderV1Sequential-12 19748048 59.63 ns/op 0 B/op 0 allocs/op
BenchmarkGetUnCommonHeaderNoCacheParallelOneKey-12 24352088 44.47 ns/op 72 B/op 4 allocs/op
BenchmarkGetUnCommonHeaderV2ParallelOneKey-12 91024160 11.76 ns/op 0 B/op 0 allocs/op
BenchmarkGetUnCommonHeaderV1ParallelOneKey-12 192048842 6.186 ns/op 0 B/op 0 allocs/op
BenchmarkGetUnCommonHeaderNoCacheParallelRandomMaximumSize-12 26261611 43.07 ns/op 62 B/op 3 allocs/op
BenchmarkGetUnCommonHeaderV2ParallelRandomMaximumSize-12 100000000 14.43 ns/op 0 B/op 0 allocs/op
BenchmarkGetUnCommonHeaderV1ParallelRandomMaximumSize-12 137813384 8.965 ns/op 0 B/op 0 allocs/op
BenchmarkGetUnCommonHeaderNoCacheParallelRandomLenKeys-12 24224664 46.57 ns/op 71 B/op 3 allocs/op
BenchmarkGetUnCommonHeaderV2ParallelRandomLenKeys-12 69002575 17.42 ns/op 0 B/op 0 allocs/op
BenchmarkGetUnCommonHeaderV1ParallelRandomLenKeys-12 8498404 253.1 ns/op 42 B/op 1 allocs/op
```
---------
Co-authored-by: Kévin Dunglas <kevin@dunglas.fr >
2025-12-01 11:37:40 +01:00
Alexander Stecher
952754db27
fix: don't flush env between requests ( #1814 )
2025-08-27 08:30:40 +02:00
Alexander Stecher
2b78ffe15c
tests: make caddy_tests faster ( #1823 )
2025-08-25 16:16:32 +02:00
Max
71aebbe0e7
perf: add popular proxy headers ( #1661 )
...
* perf: add popular proxy headers
* X-Real-IP => X-Real-Ip
2025-06-19 14:05:26 +02:00
Alexander Stecher
dd250e3bda
perf: optimized request headers ( #1335 )
...
* Optimizes header registration.
* Adds malformed cookie tests.
* Sets key to NULL (releasing them is unnecessary)
* Adjusts test.
* Sanitizes null bytes anyways.
* Sorts headers.
* trigger
* clang-format
* More clang-format.
* Updates headers and tests.
* Adds header test.
* Adds more headers.
* Updates headers again.
* ?Removes comments.
* ?Reformats headers
* ?Reformats headers
* renames header files.
* ?Renames test.
* ?Fixes assertion.
* test
* test
* test
* Moves headers test to main package.
* Properly capitalizes headers.
* Allows and tests multiple cookie headers.
* Fixes comment.
* Adds otter back in.
* Verifies correct capitalization.
* Resets package version.
* Removes debug log.
* Makes persistent strings also interned and saves them once on the main thread.
---------
Co-authored-by: Alliballibaba <alliballibaba@gmail.com >
2025-01-27 21:48:20 +01:00