File 0146-kernel-Create-table-global_names-with-read_concurren.patch of Package erlang
From 40a5c8b1dd9e751488c11f47f8c6fe68a4e55aa2 Mon Sep 17 00:00:00 2001
From: Hans Bolinder <hasse@erlang.org>
Date: Fri, 19 May 2017 13:10:04 +0200
Subject: [PATCH] kernel: Create table 'global_names' with read_concurrency
Measurements showed contention on one of the ETS tables created by the
'global' module.
---
lib/kernel/src/global.erl | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lib/kernel/src/global.erl b/lib/kernel/src/global.erl
index 3d6415036..a9e92b28b 100644
--- a/lib/kernel/src/global.erl
+++ b/lib/kernel/src/global.erl
@@ -447,7 +447,8 @@ info() ->
init([]) ->
process_flag(trap_exit, true),
_ = ets:new(global_locks, [set, named_table, protected]),
- _ = ets:new(global_names, [set, named_table, protected]),
+ _ = ets:new(global_names, [set, named_table, protected,
+ {read_concurrency, true}]),
_ = ets:new(global_names_ext, [set, named_table, protected]),
_ = ets:new(global_pid_names, [bag, named_table, protected]),
--
2.13.0