You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Results were computed from [benchstat](https://pkg.go.dev/golang.org/x/perf/cmd/benchstat) of 30 cases
102
102
```
103
103
name time/op
104
-
UnlimitedGoroutines-8 301ms ± 4%
104
+
UnlimitedGoroutines-8 331ms ± 4%
105
105
ErrGroup-8 515ms ± 9%
106
106
AntsPool-8 582ms ± 9%
107
107
GammaZeroPool-8 740ms ±13%
108
108
BytedanceGoPool-8 572ms ±18%
109
-
ItogamiPool-8 331ms ± 7%
109
+
ItogamiPool-8 337ms ± 1%
110
110
111
111
name alloc/op
112
112
UnlimitedGoroutines-8 96.3MB ± 0%
@@ -120,14 +120,14 @@ name allocs/op
120
120
UnlimitedGoroutines-8 2.00M ± 0%
121
121
ErrGroup-8 3.00M ± 0%
122
122
AntsPool-8 1.10M ± 2%
123
-
GammaZeroPool-8 1.05M ± 0%
123
+
GammaZeroPool-8 1.08M ± 0%
124
124
BytedanceGoPool-8 2.59M ± 1%
125
-
ItogamiPool-8 1.05M ± 0%
125
+
ItogamiPool-8 1.08M ± 0%
126
126
```
127
127
128
128
The following conclusions can be drawn from the above results:-
129
129
130
-
1.[Itogami](https://github.com/alphadose/itogami) is the fastest among all goroutine pool implementations and slower only than unlimited goroutines
130
+
1.[Itogami](https://github.com/alphadose/itogami) is the fastest among all goroutine pool implementations and slightly slower than unlimited goroutines
131
131
2.[Itogami](https://github.com/alphadose/itogami) has the least `allocs/op` and hence the memory usage scales really well with high load
132
132
3. The memory used per operation is in the acceptable range of other pools and drastically lower than unlimited goroutines
133
133
4. The tolerance (± %) for [Itogami](https://github.com/alphadose/itogami) is quite low for all 3 metrics indicating that the algorithm is quite stable overall
0 commit comments