From 26ffd6e409fad94b3a24420156ab4b2897732cbc Mon Sep 17 00:00:00 2001 From: Jean Boussier Date: Wed, 15 Jan 2020 14:40:01 +0100 Subject: [PATCH] Increase the frozen_strings table initial size It was set to 1000 in a4a2b9be7a55bb61d17cf9673ed0d2a93bb52d31. However on ruby-2.7.0p0, there are much more than 1k frozen string right after boot: ``` $ ruby -robjspace -e 'p ObjectSpace.each_object(String).select { |s| s.frozen? && ObjectSpace.dump(s).include?(%{"fstring":true})}.uniq.count' 5948 ``` --- vm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vm.c b/vm.c index e772d3b112..fae2b68127 100644 --- a/vm.c +++ b/vm.c @@ -3344,7 +3344,7 @@ Init_vm_objects(void) /* initialize mark object array, hash */ vm->mark_object_ary = rb_ary_tmp_new(128); vm->loading_table = st_init_strtable(); - vm->frozen_strings = st_init_table_with_size(&rb_fstring_hash_type, 1000); + vm->frozen_strings = st_init_table_with_size(&rb_fstring_hash_type, 10000); } /* top self */