summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeal H. Walfield <neal@gnu.org>2008-11-14 16:26:24 +0100
committerNeal H. Walfield <neal@gnu.org>2008-11-14 16:26:24 +0100
commit2c85c0091c179b7eda3147892285d2530aa0a813 (patch)
tree7b1dee2b0c3fae3673ac1e653c490713c1e4f838
parent9b528780bb5d07747b6b6953e939366caec56028 (diff)
Change Viengoo's frame hash to use a load factory of 30.
2008-11-14 Neal H. Walfield <neal@gnu.org> * object.c (object_init): Set OBJECTS load factory to 30.
-rw-r--r--viengoos/ChangeLog4
-rw-r--r--viengoos/object.c5
2 files changed, 8 insertions, 1 deletions
diff --git a/viengoos/ChangeLog b/viengoos/ChangeLog
index 3892745..129dcb1 100644
--- a/viengoos/ChangeLog
+++ b/viengoos/ChangeLog
@@ -1,5 +1,9 @@
2008-11-14 Neal H. Walfield <neal@gnu.org>
+ * object.c (object_init): Set OBJECTS load factory to 30.
+
+2008-11-14 Neal H. Walfield <neal@gnu.org>
+
* memory.c (memory_frame_allocate): Take frames from the head of
the available list.
diff --git a/viengoos/object.c b/viengoos/object.c
index a36b233..6bf0eba 100644
--- a/viengoos/object.c
+++ b/viengoos/object.c
@@ -71,7 +71,10 @@ object_init (void)
/* Allocate object hash. */
int count = (last_frame - first_frame) / PAGESIZE + 1;
- size_t size = hurd_ihash_buffer_size (count, true, 0);
+ /* XXX: Use a load factory of just 30% until we get a better hash
+ implementation. The default of 80% can result in very long
+ chains. */
+ size_t size = hurd_ihash_buffer_size (count, true, 30);
/* Round up to a multiple of the page size. */
size = (size + PAGESIZE - 1) & ~(PAGESIZE - 1);