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
The data structure used to enable `write_concurrency` in the `ordered_set` is called
148
-
contention adaptive search tree. In a nutshell, the data structure keeps a shadow
149
-
tree that represents the locks needed to read or write a term in the tree. When
150
-
conflicts between multiple writers happen, the shadow tree is updated to have
151
-
more fine-grained locks for specific branches of the tree. You can read more about
152
-
the details of the algorithm in [A Contention Adapting Approach to Concurrent Ordered Sets](http://www.it.uu.se/research/group/languages/software/ca_tree/catree_proofs.pdf).
153
-
154
-
The original PR had a few places where it still had to fall back to run sequentially,
155
-
but that has been fixed in [PR1997](https://github.com/erlang/otp/pull/1997) and then
156
-
further optimizations have been done in [PR2190](https://github.com/erlang/otp/pull/2190).
145
+
In the benchmark above we can see that on an `ordered_set` table the
146
+
operations per seconds possible on a 64 core machine has increased
147
+
dramatically between OTP 21 and OTP 22. You can see a description of
148
+
the benchmark and the results of many more benchmarks
0 commit comments