Re:Interactive Visualizations of Rate-Limiting Algorithms
by gpderetta on Friday May 17, 2024 @05:19AM
(#40387964)
Isn't GCRA a variant of leaky bucket, i.e. the token bucket described in the article?
As far as I can tell, the behavior should be the same, the difference is just implementation details and what you track.
Re:Interactive Visualizations of Rate-Limiting Algorithms
by 0pteron on Sunday May 19, 2024 @02:13PM
(#40408687)
If leaky bucket means "manages burst sizes and burst intervals" then yeah, they are similar in that regard but they do it differently. GCRA is more analogous to a traffic light where its solely time-based and there is no overhead needed to remove/add tokens so you are storing 1 less state object. For all purposes its probably a micro-optimization but being aware how GCRA works can yield less code but perhaps at the expense of obscurity of a lesser known algo.
I think you understand the differences but I think its improper to consider it a variant of leaky bucket as various resources refute
https://medium.com/smarkets/implementing-gcra-in-python-5df1... https://en.m.wikipedia.org/wiki/Generic_cell_rate_algorithm