diff options
author | Sverker Eriksson <[email protected]> | 2018-09-21 14:22:32 +0200 |
---|---|---|
committer | GitHub <[email protected]> | 2018-09-21 14:22:32 +0200 |
commit | f26d11aa57aff58eec7ba743916981964da711ca (patch) | |
tree | e09ea7f7e9141fa357593ea88c53f0bf73ec3e78 /lib/stdlib/doc/src/ets.xml | |
parent | 6e014f7780903757119ef8f20b881613cdfe8d42 (diff) | |
parent | 9c96967fbc6286f27b9be8b04afcfe34b362b2ef (diff) | |
download | otp-f26d11aa57aff58eec7ba743916981964da711ca.tar.gz otp-f26d11aa57aff58eec7ba743916981964da711ca.tar.bz2 otp-f26d11aa57aff58eec7ba743916981964da711ca.zip |
Merge PR-1952 from kjellwinblad/ca_tree_pull_request
Add a more scalable ETS ordered_set implementation
Diffstat (limited to 'lib/stdlib/doc/src/ets.xml')
-rw-r--r-- | lib/stdlib/doc/src/ets.xml | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/lib/stdlib/doc/src/ets.xml b/lib/stdlib/doc/src/ets.xml index ad006f9a2b..57a19ef2ca 100644 --- a/lib/stdlib/doc/src/ets.xml +++ b/lib/stdlib/doc/src/ets.xml @@ -1135,11 +1135,22 @@ ets:select(Table, MatchSpec),</code> Functions that makes such promises over many objects (like <seealso marker="#insert/2"><c>insert/2</c></seealso>) gain less (or nothing) from this option.</p> - <p>Table type <c>ordered_set</c> is not affected by this option. - Also, the memory consumption inflicted by - both <c>write_concurrency</c> and <c>read_concurrency</c> is a - constant overhead per table. This overhead can be especially - large when both options are combined.</p> + <p>The memory consumption inflicted by both <c>write_concurrency</c> + and <c>read_concurrency</c> is a constant overhead per table for + <c>set</c>, <c>bag</c> and <c>duplicate_bag</c>. For + <c>ordered_set</c> the memory overhead depends on the number + of inserted objects and the amount of actual detected + concurrency. The memory overhead can be especially large when both + options are combined.</p> + <note> + <p>Prior to stdlib-3.7 (OTP-22.0) <c>write_concurrency</c> had no + effect on <c>ordered_set</c>.</p> + <p>The current implementation of <c>write_concurrency</c> for + <c>ordered_set</c> does only improve explicit single key + operations. Mixing single key operations with operations + potentially accessing multiple keys may even yield worse + performance with <c>write_concurrency</c> on <c>ordered_set</c>.</p> + </note> <marker id="new_2_read_concurrency"></marker> </item> <tag><c>{read_concurrency,boolean()}</c></tag> |