ocaml-multicore / kcas

Software Transactional Memory for OCaml
https://ocaml-multicore.github.io/kcas/
ISC License
109 stars 11 forks source link

Add a transaction benchmark using a naïve unscalable leftist heap #196

Open polytypic opened 8 months ago

polytypic commented 8 months ago

This PR adds another benchmark that stresses the transaction mechanism. The benchmark is based on a naïve leftist heap data structure. The problem with that is that every operation modifies the root. That is a fundamental sequential bottleneck and it means that the data structure simply cannot scale to multiple cores such that thruput would improve by adding workers. Nevertheless this could be a useful benchmark of the transaction mechanism.