diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/hash.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/hash.c b/src/hash.c index 58b6b2f53..f7e84463d 100644 --- a/src/hash.c +++ b/src/hash.c @@ -145,7 +145,8 @@ mrb_hash_new_capa(mrb_state *mrb, mrb_int capa) struct RHash *h; h = (struct RHash*)mrb_obj_alloc(mrb, MRB_TT_HASH, mrb->hash_class); - h->ht = kh_init_size(ht, mrb, capa); + /* khash needs 1/4 empty space so it is not resized immediately */ + h->ht = kh_init_size(ht, mrb, capa*4/3); h->iv = 0; return mrb_obj_value(h); } |
