{"id":13515113,"url":"https://github.com/maurice2k/ultrapool","last_synced_at":"2026-02-08T01:03:50.257Z","repository":{"id":57509028,"uuid":"234308088","full_name":"maurice2k/ultrapool","owner":"maurice2k","description":"Blazing fast worker pool for Golang","archived":false,"fork":false,"pushed_at":"2023-01-30T10:33:26.000Z","size":29,"stargazers_count":11,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-31T04:36:27.158Z","etag":null,"topics":["adaptive","golang","goroutine","pool","spawning","worker"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maurice2k.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-01-16T11:45:22.000Z","updated_at":"2024-10-09T23:21:21.000Z","dependencies_parsed_at":"2023-02-16T06:25:18.602Z","dependency_job_id":null,"html_url":"https://github.com/maurice2k/ultrapool","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/maurice2k/ultrapool","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maurice2k%2Fultrapool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maurice2k%2Fultrapool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maurice2k%2Fultrapool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maurice2k%2Fultrapool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maurice2k","download_url":"https://codeload.github.com/maurice2k/ultrapool/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maurice2k%2Fultrapool/sbom","scorecard":{"id":628434,"data":{"date":"2025-08-11","repo":{"name":"github.com/maurice2k/ultrapool","commit":"35914b138062bdbc9faa3f26196e7761896aa696"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.9,"checks":[{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Code-Review","score":0,"reason":"Found 0/6 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":9,"reason":"1 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2020-0036 / GHSA-wxc4-f4m6-wwqv"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-21T07:10:57.466Z","repository_id":57509028,"created_at":"2025-08-21T07:10:57.466Z","updated_at":"2025-08-21T07:10:57.466Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29215896,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-08T00:10:47.190Z","status":"ssl_error","status_checked_at":"2026-02-08T00:10:43.589Z","response_time":63,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adaptive","golang","goroutine","pool","spawning","worker"],"created_at":"2024-08-01T05:01:06.429Z","updated_at":"2026-02-08T01:03:50.224Z","avatar_url":"https://github.com/maurice2k.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# ultrapool\n\n*ultrapool* is a blazing fast worker pool for Golang that supports adaptive spawning of new workers while idle workers are being cleaned up after a while.\n\n\n## Architecture\n*ultrapool* is modeled after the worker pool found in [valyala/fasthttp](https://github.com/valyala/fasthttp/blob/master/workerpool.go) but adds some speedups and is not bound to `net.Conn`.\n\nEach worker has it's own channel that are queued in a slice structure whenever a worker is idle. The slice is guarded by a mutex.\n\nWhile so many channels seem to be a performance issue it turns out that using only a few channels (which are then used by more than one worker) results in much poorer performance.\n\nThe main difference to fasthttp's approach is that *ultrapool* uses sharding and a small CAS cache to minimize the locking effects. Locking is done on shard level using a spin lock.\n\n\n## Example\n\n```golang\nwp := ultrapool.NewWorkerPool(func(task ultrapool.Task) {\n    serveConn(task.(net.Conn))\n})\n\n// start the worker pool\nwp.Start()\n\n// ...\n\n// add some task\nwp.AddTask(conn)   // handle connection\n\n\n// gracefully stop the pool\n// Stop() does not wait but also does not terminate any running tasks\nwp.Stop()\n\n```\n\n\n## Benchmarks\n\nBenchmarks have been run on a `Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz` CPU with 12 cores (+ HT) using Golang 1.18.2.\n\nAll worker pools are trying to reduce the overhead of spawning a new worker by re-using spawned workers (time-memory tradeoff).\n\nThis is most efficient with work loads that can be processed pretty fast (in the range of a few microseconds). The higher the processing time the less efficient a worker pool gets.\n\nI've benchmarked a few work load scenarios:\n\n\n### Scenario #1: Just sleep for 1 microsecond\n\n*ultrapool* has a much better performance than spawning go routines.\n\n```\nBenchmarkPlainGoRoutines/Sleep_1ms/1-24                  2970315               414.0 ns/op           115 B/op          3 allocs/op\nBenchmarkPlainGoRoutines/Sleep_1ms/10-24                 2422207               489.8 ns/op           123 B/op          3 allocs/op\nBenchmarkPlainGoRoutines/Sleep_1ms/50-24                 1729738               765.1 ns/op           112 B/op          3 allocs/op\nBenchmarkPlainGoRoutines/Sleep_1ms/100-24                1000000              1074 ns/op             126 B/op          3 allocs/op\n\nBenchmarkUltrapoolWorkerpool/Sleep_1ms/1-24              5735512               199.5 ns/op             8 B/op          1 allocs/op\nBenchmarkUltrapoolWorkerpool/Sleep_1ms/10-24             5473467               220.5 ns/op             8 B/op          1 allocs/op\nBenchmarkUltrapoolWorkerpool/Sleep_1ms/50-24             5488731               225.3 ns/op             9 B/op          1 allocs/op\nBenchmarkUltrapoolWorkerpool/Sleep_1ms/100-24            5404957               235.7 ns/op            11 B/op          1 allocs/op\n\nBenchmarkAntsWorkerpool/Sleep_1ms/1-24                    840319              1264 ns/op               8 B/op          1 allocs/op\nBenchmarkAntsWorkerpool/Sleep_1ms/10-24                   904767              1130 ns/op               8 B/op          1 allocs/op\nBenchmarkAntsWorkerpool/Sleep_1ms/50-24                  1081887              1070 ns/op               9 B/op          1 allocs/op\nBenchmarkAntsWorkerpool/Sleep_1ms/100-24                 1132861              1053 ns/op               9 B/op          1 allocs/op\n\nBenchmarkEasypoolWorkerpool/Sleep_1ms/1-24               5612767               226.4 ns/op            10 B/op          1 allocs/op\nBenchmarkEasypoolWorkerpool/Sleep_1ms/10-24              5639330               214.0 ns/op            17 B/op          1 allocs/op\nBenchmarkEasypoolWorkerpool/Sleep_1ms/50-24              5140176               217.8 ns/op            27 B/op          1 allocs/op\nBenchmarkEasypoolWorkerpool/Sleep_1ms/100-24             4913846               220.6 ns/op            31 B/op          1 allocs/op\n\nBenchmarkFasthttpWorkerpool/Sleep_1ms/1-24                989583              1242 ns/op               8 B/op          1 allocs/op\nBenchmarkFasthttpWorkerpool/Sleep_1ms/10-24               983121              1262 ns/op               8 B/op          1 allocs/op\nBenchmarkFasthttpWorkerpool/Sleep_1ms/50-24               928732              1245 ns/op               9 B/op          1 allocs/op\nBenchmarkFasthttpWorkerpool/Sleep_1ms/100-24              838867              1279 ns/op              11 B/op          1 allocs/op\n\nBenchmarkGammazeroWorkerpool/Sleep_1ms/1-24               719996              1395 ns/op              24 B/op          2 allocs/op\nBenchmarkGammazeroWorkerpool/Sleep_1ms/10-24              829106              1450 ns/op              24 B/op          2 allocs/op\nBenchmarkGammazeroWorkerpool/Sleep_1ms/50-24              750172              1417 ns/op              24 B/op          2 allocs/op\nBenchmarkGammazeroWorkerpool/Sleep_1ms/100-24             717574              1435 ns/op              24 B/op          2 allocs/op\n```\n\n### Scenario #2: Calculate SHA256 over 1024 bytes\n\n*ultrapool* is still ~20% better than spawning go routines.\n\n```\nBenchmarkPlainGoRoutines/SHA256_1kB/1-24                 2555998               450.3 ns/op            32 B/op          2 allocs/op\nBenchmarkPlainGoRoutines/SHA256_1kB/10-24                2323909               464.5 ns/op            32 B/op          2 allocs/op\nBenchmarkPlainGoRoutines/SHA256_1kB/50-24                1814096               559.6 ns/op            46 B/op          2 allocs/op\nBenchmarkPlainGoRoutines/SHA256_1kB/100-24               1909450               596.9 ns/op            41 B/op          2 allocs/op\n\nBenchmarkUltrapoolWorkerpool/SHA256_1kB/1-24             3005290               397.8 ns/op             8 B/op          1 allocs/op\nBenchmarkUltrapoolWorkerpool/SHA256_1kB/10-24            2642110               428.1 ns/op            13 B/op          1 allocs/op\nBenchmarkUltrapoolWorkerpool/SHA256_1kB/50-24            2521020               472.0 ns/op            31 B/op          1 allocs/op\nBenchmarkUltrapoolWorkerpool/SHA256_1kB/100-24           2216846               467.9 ns/op            36 B/op          1 allocs/op\n\nBenchmarkAntsWorkerpool/SHA256_1kB/1-24                   988203              1179 ns/op               8 B/op          1 allocs/op\nBenchmarkAntsWorkerpool/SHA256_1kB/10-24                 1059818              1080 ns/op               8 B/op          1 allocs/op\nBenchmarkAntsWorkerpool/SHA256_1kB/50-24                 1081160              1066 ns/op               8 B/op          1 allocs/op\nBenchmarkAntsWorkerpool/SHA256_1kB/100-24                1096756              1048 ns/op               9 B/op          1 allocs/op\n\nBenchmarkEasypoolWorkerpool/SHA256_1kB/1-24              1864959               583.3 ns/op            68 B/op          1 allocs/op\nBenchmarkEasypoolWorkerpool/SHA256_1kB/10-24             1000000              1691 ns/op             260 B/op          3 allocs/op\nBenchmarkEasypoolWorkerpool/SHA256_1kB/50-24             2247285              1427 ns/op             235 B/op          3 allocs/op\nBenchmarkEasypoolWorkerpool/SHA256_1kB/100-24            1000000              1255 ns/op             224 B/op          4 allocs/op\n\nBenchmarkFasthttpWorkerpool/SHA256_1kB/1-24              1000000              1182 ns/op               8 B/op          1 allocs/op\nBenchmarkFasthttpWorkerpool/SHA256_1kB/10-24              956448              1244 ns/op               8 B/op          1 allocs/op\nBenchmarkFasthttpWorkerpool/SHA256_1kB/50-24              858194              1226 ns/op               9 B/op          1 allocs/op\nBenchmarkFasthttpWorkerpool/SHA256_1kB/100-24             946658              1212 ns/op               9 B/op          1 allocs/op\n\nBenchmarkGammazeroWorkerpool/SHA256_1kB/1-24              715081              1550 ns/op              24 B/op          2 allocs/op\nBenchmarkGammazeroWorkerpool/SHA256_1kB/10-24             745165              1488 ns/op              24 B/op          2 allocs/op\nBenchmarkGammazeroWorkerpool/SHA256_1kB/50-24             741728              1465 ns/op              24 B/op          2 allocs/op\nBenchmarkGammazeroWorkerpool/SHA256_1kB/100-24            707242              1463 ns/op              24 B/op          2 allocs/op\n```\n\n\n### Scenario #3: Encrypt 1024 byte using AES-128-CBC\n\nNumbers have halved, but *ultrapool* is -- again -- still ~10% better than spawning go routines.\n\n```\nBenchmarkPlainGoRoutines/AES_CBC_1kB/1-24                1000000              2184 ns/op            3295 B/op         12 allocs/op\nBenchmarkPlainGoRoutines/AES_CBC_1kB/10-24                834814              2591 ns/op            3306 B/op         12 allocs/op\nBenchmarkPlainGoRoutines/AES_CBC_1kB/50-24                733308              2506 ns/op            3307 B/op         12 allocs/op\nBenchmarkPlainGoRoutines/AES_CBC_1kB/100-24               657081              2448 ns/op            3299 B/op         12 allocs/op\n\nBenchmarkUltrapoolWorkerpool/AES_CBC_1kB/1-24            1000000              1753 ns/op            3279 B/op         11 allocs/op\nBenchmarkUltrapoolWorkerpool/AES_CBC_1kB/10-24            859489              2151 ns/op            3301 B/op         11 allocs/op\nBenchmarkUltrapoolWorkerpool/AES_CBC_1kB/50-24            850668              7569 ns/op            3343 B/op         11 allocs/op\nBenchmarkUltrapoolWorkerpool/AES_CBC_1kB/100-24           832702              2548 ns/op            3353 B/op         11 allocs/op\n\nBenchmarkAntsWorkerpool/AES_CBC_1kB/1-24                 1000000              2486 ns/op            3273 B/op         11 allocs/op\nBenchmarkAntsWorkerpool/AES_CBC_1kB/10-24                 898910              2346 ns/op            3280 B/op         11 allocs/op\nBenchmarkAntsWorkerpool/AES_CBC_1kB/50-24                 801080              2373 ns/op            3297 B/op         11 allocs/op\nBenchmarkAntsWorkerpool/AES_CBC_1kB/100-24                745029              2676 ns/op            3316 B/op         11 allocs/op\n\nBenchmarkEasypoolWorkerpool/AES_CBC_1kB/1-24             1000000              2147 ns/op            3402 B/op         12 allocs/op\nBenchmarkEasypoolWorkerpool/AES_CBC_1kB/10-24            1000000              2219 ns/op            3437 B/op         13 allocs/op\nBenchmarkEasypoolWorkerpool/AES_CBC_1kB/50-24            1000000              2584 ns/op            3524 B/op         14 allocs/op\nBenchmarkEasypoolWorkerpool/AES_CBC_1kB/100-24           1000000              2836 ns/op            3537 B/op         14 allocs/op\n\nBenchmarkFasthttpWorkerpool/AES_CBC_1kB/1-24             1000000              2079 ns/op            3281 B/op         11 allocs/op\nBenchmarkFasthttpWorkerpool/AES_CBC_1kB/10-24             851986              1738 ns/op            3279 B/op         11 allocs/op\nBenchmarkFasthttpWorkerpool/AES_CBC_1kB/50-24             773848              1904 ns/op            3289 B/op         11 allocs/op\nBenchmarkFasthttpWorkerpool/AES_CBC_1kB/100-24            643359              2105 ns/op            3295 B/op         11 allocs/op\n\nBenchmarkGammazeroWorkerpool/AES_CBC_1kB/1-24             669787              2339 ns/op            3288 B/op         12 allocs/op\nBenchmarkGammazeroWorkerpool/AES_CBC_1kB/10-24            701192              2103 ns/op            3288 B/op         12 allocs/op\nBenchmarkGammazeroWorkerpool/AES_CBC_1kB/50-24            681267              2169 ns/op            3288 B/op         12 allocs/op\nBenchmarkGammazeroWorkerpool/AES_CBC_1kB/100-24           698540              2248 ns/op            3288 B/op         12 allocs/op\n```\n\n\n### Scenario #4: Encrypt 8192 bytes using AES-128-CBC\n\nOverall, worker pools are getting less useful; *ultrapool* is still ~4% better than spawning go routines.\n\n```\nBenchmarkPlainGoRoutines/AES_CBC_8kB/1-24                1000000              7656 ns/op           20938 B/op         12 allocs/op\nBenchmarkPlainGoRoutines/AES_CBC_8kB/10-24                453580             11320 ns/op           20984 B/op         12 allocs/op\nBenchmarkPlainGoRoutines/AES_CBC_8kB/50-24                199285             12905 ns/op           21491 B/op         12 allocs/op\nBenchmarkPlainGoRoutines/AES_CBC_8kB/100-24               113212              9477 ns/op           20273 B/op         12 allocs/op\n\nBenchmarkUltrapoolWorkerpool/AES_CBC_8kB/1-24             497756              6773 ns/op           20950 B/op         11 allocs/op\nBenchmarkUltrapoolWorkerpool/AES_CBC_8kB/10-24            486513              7189 ns/op           20971 B/op         11 allocs/op\nBenchmarkUltrapoolWorkerpool/AES_CBC_8kB/50-24            444885              9082 ns/op           21037 B/op         12 allocs/op\nBenchmarkUltrapoolWorkerpool/AES_CBC_8kB/100-24           414063             10335 ns/op           21054 B/op         12 allocs/op\n\nBenchmarkAntsWorkerpool/AES_CBC_8kB/1-24                   99210             11919 ns/op           20951 B/op         11 allocs/op\nBenchmarkAntsWorkerpool/AES_CBC_8kB/10-24                  99079             11229 ns/op           20981 B/op         11 allocs/op\nBenchmarkAntsWorkerpool/AES_CBC_8kB/50-24                  93127             11519 ns/op           21048 B/op         12 allocs/op\nBenchmarkAntsWorkerpool/AES_CBC_8kB/100-24                 78806             12913 ns/op           21079 B/op         13 allocs/op\n\nBenchmarkEasypoolWorkerpool/AES_CBC_8kB/1-24              252812              7480 ns/op           21043 B/op         12 allocs/op\nBenchmarkEasypoolWorkerpool/AES_CBC_8kB/10-24             434630             11067 ns/op           21115 B/op         13 allocs/op\nBenchmarkEasypoolWorkerpool/AES_CBC_8kB/50-24             443392             10109 ns/op           21106 B/op         13 allocs/op\nBenchmarkEasypoolWorkerpool/AES_CBC_8kB/100-24            389287             10792 ns/op           21213 B/op         13 allocs/op\n\nBenchmarkFasthttpWorkerpool/AES_CBC_8kB/1-24              414046              8100 ns/op           20966 B/op         11 allocs/op\nBenchmarkFasthttpWorkerpool/AES_CBC_8kB/10-24             378027              8116 ns/op           20983 B/op         11 allocs/op\nBenchmarkFasthttpWorkerpool/AES_CBC_8kB/50-24             377748              8923 ns/op           20989 B/op         11 allocs/op\nBenchmarkFasthttpWorkerpool/AES_CBC_8kB/100-24            356851             10058 ns/op           20997 B/op         11 allocs/op\n\nBenchmarkGammazeroWorkerpool/AES_CBC_8kB/1-24             497506              7220 ns/op           20952 B/op         12 allocs/op\nBenchmarkGammazeroWorkerpool/AES_CBC_8kB/10-24            474954              6491 ns/op           20952 B/op         12 allocs/op\nBenchmarkGammazeroWorkerpool/AES_CBC_8kB/50-24            458689              6995 ns/op           20952 B/op         12 allocs/op\nBenchmarkGammazeroWorkerpool/AES_CBC_8kB/100-24           422271              7307 ns/op           20953 B/op         12 allocs/op\n```\n\n## License\n\n*ultrapool* is available under the MIT [license](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaurice2k%2Fultrapool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaurice2k%2Fultrapool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaurice2k%2Fultrapool/lists"}