Thanks a lot François, exactly what I had in mind.
Merged ;)

Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<https://rmannibucau.metawerx.net/> | Old Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
<https://www.packtpub.com/application-development/java-ee-8-high-performance>


Le ven. 1 mai 2020 à 18:21, Francois Papon <[email protected]> a
écrit :

> Hi,
>
> I pushed a PR for this thread:
>
> https://github.com/apache/geronimo-safeguard/pull/4
>
> TCK passed.
>
> regards,
>
> Franç[email protected]
>
> Le 22/04/2020 à 16:14, Francois Papon a écrit :
>
> Hi Romain,
>
> I can try to take a look and push a PR :)
>
> regards,
>
> Franç[email protected]
>
> Le 22/04/2020 à 15:48, Romain Manni-Bucau a écrit :
>
> Hi everyone,
>
> I'm not a big user of Microprofile fault tolerance (without entering into
> the details cause it is not the goal but I'm putting the features elsewhere
> in the app), but I realized implementing a custom circuit breaker with more
> or less the same kind of configuration than MP one that we can optimize our
> circuit breaker implementation. Long story short the spec requires to have
> a rolling window which is basically an array of boolean representing
> successes and failures.
> However, our current impl uses an array of boolean, which means for a
> window of 1024 we'll have 1024 boolean.
>
> Using a BitSet we can make it pass to 16 longs instead of 1024 booleans
> which is quite different.
> Implementation change is not that complicated, it will just require to
> handle an "int count" next to the BitSet to replace the array.length usage
> and bitSet.cardinality() will give us the number of "true" (so false are
> 1-that).
> With that we can reduce a lot the memory usage of our circuit breaker.
>
> If anyone wants to have a go, feel free to open a PR.
>
> Romain Manni-Bucau
> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> <https://rmannibucau.metawerx.net/> | Old Blog
> <http://rmannibucau.wordpress.com> | Github
> <https://github.com/rmannibucau> | LinkedIn
> <https://www.linkedin.com/in/rmannibucau> | Book
> <https://www.packtpub.com/application-development/java-ee-8-high-performance>
>
>

Reply via email to