kubesphere / kube-events

K8s Event Exporting, Filtering and Alerting in Multi-Tenant Environment
Apache License 2.0
173 stars 31 forks source link

Bump github.com/panjf2000/ants/v2 from 2.7.1 to 2.9.0 #133

Closed dependabot[bot] closed 7 months ago

dependabot[bot] commented 7 months ago

Bumps github.com/panjf2000/ants/v2 from 2.7.1 to 2.9.0.

Release notes

Sourced from github.com/panjf2000/ants/v2's releases.

Ants v2.9.0

πŸš€ Features

  • feat: add MultiPool and MultiPoolWithFunc (#305)

πŸ›© Enhancements

  • opt: fall back to LeastTasks when RoundRobin can't find a worker (#306)
  • feat: add MultiPool and MultiPoolWithFunc (#305)
  • refactor: enforce a few minor optimizations in code (#302)
  • refactor: refine the code in retrieveWorker to make it more readable (#295)

πŸ› Bugfixes

  • bug: return the error from Pool.Submit/PoolWithFunc.Invoke accordingly (#297)
  • bug: fix the potential goroutine leak after calling Release() (#287)

πŸ“š Documentation

  • chore: eliminate some useless content (#303)
  • chore: update READMEs 16771ceb8fe801ee3679d590b84b762556264b71
  • chore: add a new use case (#290)

πŸ—ƒ Misc

  • chore: eliminate some useless content (#303)
  • chore: enable more title matchers for auto-labelers of bug and new feature (#300)
  • chore: enable auto-labeler for PRs of updating semantic version (#298)
  • chore: clean up some comments and CI yaml (#296)
  • chore: bump up modules (#292)

Full Changelog: https://github.com/panjf2000/ants/compare/v2.8.0...v2.9.0

Performance improvement

In version v2.9.0, ants introduces two new pool types: MultiPool and MultiPoolWithFunc from which you will benefit the performance improvement on the basis of the fine-grained locking that reduces the lock contention.

These two pools are a good fit for the scenario where you have a large number of tasks to submit, and you don't want the single pool to be the bottleneck.

Benchmark testing

goos: darwin
goarch: arm64
pkg: github.com/panjf2000/ants/v2
BenchmarkAntsPool-10                           2     777222500 ns/op    25458216 B/op    1115895 allocs/op
BenchmarkAntsMultiPool-10                      2     667141666 ns/op    23590496 B/op    1105121 allocs/op
BenchmarkAntsPoolThroughput-10                 2     747288979 ns/op     9266236 B/op     117693 allocs/op
BenchmarkAntsMultiPoolThroughput-10            2     579771771 ns/op     4550356 B/op      66303 allocs/op
</tr></table> 

... (truncated)

Commits
  • 5cecad0 Merge pull request #307 from panjf2000/dev
  • fb82167 opt: fall back to LeastTasks when RoundRobin can't find a worker (#306)
  • 19bd1ea feat: add MultiPool and MultiPoolWithFunc (#305)
  • 27685ba refactor: enforce a few minor optimization in code (#302)
  • d9a08d1 chore: eliminate some useless content (#303)
  • bd6ee4b Merge pull request #299 from panjf2000/dev
  • f0b98c3 chore: enable more title matchers for auto-labelers of bug and new feature (#...
  • c8b4646 chore: enable more auto-labelers for PRs (#298)
  • 2ce8d85 bug: return the error from Pool.Submit/PoolWithFunc.Invoke accordingly (#297)
  • 45bc4f5 chore: clean up some comments and CI yaml (#296)
  • 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)