[glib/halfline/debug-metrics: 3/12] ghash: Allow tweaking hash table shift by environment variable
- From: Ray Strode <halfline src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib/halfline/debug-metrics: 3/12] ghash: Allow tweaking hash table shift by environment variable
- Date: Tue, 21 Dec 2021 17:45:09 +0000 (UTC)
commit 06b5b71a4b32abbd118ce5248875fd9ec5d059f5
Author: Ray Strode <rstrode redhat com>
Date: Mon May 10 16:02:31 2021 -0400
ghash: Allow tweaking hash table shift by environment variable
The shift controls the capacity of the hash table before it needs to
be resized.
This commit makes the shift configurable through the
G_HASH_TABLE_MIN_SHIFT
environment variable.
glib/ghash.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
---
diff --git a/glib/ghash.c b/glib/ghash.c
index 608d136f4..869ef42e6 100644
--- a/glib/ghash.c
+++ b/glib/ghash.c
@@ -206,7 +206,7 @@
* release of GLib. It does nothing.
*/
-#define HASH_TABLE_MIN_SHIFT 3 /* 1 << 3 == 8 buckets */
+static int HASH_TABLE_MIN_SHIFT = 3;
#define UNUSED_HASH_VALUE 0
#define TOMBSTONE_HASH_VALUE 1
@@ -714,7 +714,7 @@ g_hash_table_new_full (GHashFunc hash_func,
GDestroyNotify value_destroy_func)
{
GHashTable *hash_table;
-
+ HASH_TABLE_MIN_SHIFT = atoi(getenv ("G_HASH_TABLE_MIN_SHIFT")? : "3");
hash_table = g_slice_new (GHashTable);
g_hash_table_set_shift (hash_table, HASH_TABLE_MIN_SHIFT);
hash_table->nnodes = 0;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]