observatorium / api

The Observatorium API
Apache License 2.0
53 stars 65 forks source link

Bump github.com/go-chi/httprate from 0.9.0 to 0.12.0 #737

Closed dependabot[bot] closed 1 month ago

dependabot[bot] commented 1 month ago

Bumps github.com/go-chi/httprate from 0.9.0 to 0.12.0.

Release notes

Sourced from github.com/go-chi/httprate's releases.

v0.12.0

What's Changed

Full Changelog: https://github.com/go-chi/httprate/compare/v0.11.0...v0.12.0

v0.11.0: Improve performance of in-memory rate-limit counter

  • Improves throughput by 2.6x 🚀
  • Reduces memory footprint and allocations by 2x 📉
$ benchstat old.txt new.txt
goos: darwin
goarch: arm64
pkg: github.com/go-chi/httprate
               │   old.txt   │               new.txt               │
               │   sec/op    │   sec/op     vs base                │
LocalCounter-8   34.65m ± 3%   13.50m ± 2%  -61.04% (p=0.000 n=10)
           │   old.txt    │               new.txt                │
           │     B/op     │     B/op      vs base                │

LocalCounter-8 4.384Mi ± 0% 2.846Mi ± 0% -35.07% (p=0.000 n=10)

           │   old.txt   │               new.txt               │
           │  allocs/op  │  allocs/op   vs base                │

LocalCounter-8 253.9k ± 0% 121.6k ± 0% -52.12% (p=0.000 n=10)

Commits
  • 6aa26b0 Local counter: Don't re-allocate maps in Go 1.21+ (#40)
  • 9e50ad6 Export in-memory counter for external use (#39)
  • 05a79e9 Upgrade to actions/setup-go@v5, improve README (#38)
  • 4afd620 Improve example, add go module (#37)
  • 7fd4d55 Remove unused func argument (#36)
  • 6678579 localCounter: Add more robust table-driven tests (#35)
  • bff9ca6 Improve localCounter performance and memory footprint (#34)
  • c6b43ff localCounter: Use RWMutex to speed up lookups (#33)
  • 7228fd5 Add benchmark for localCounter (#32)
  • 56b390b Split localCounter into its own file
  • Additional commits viewable in compare view


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)