From fa20fb3728c622ff2e5fed3f843c5906d81b43c9 Mon Sep 17 00:00:00 2001 From: glass Date: Mon, 22 Jul 2013 09:03:44 +0000 Subject: * string.c (rb_str_enumerate_chars): specify array capa. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42112 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ string.c | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7c0f6b8a05..baa929f68a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Mon Jul 22 18:01:33 2013 Masaki Matsushita + + * string.c (rb_str_enumerate_chars): specify array capa. + Mon Jul 22 17:24:14 2013 Masaki Matsushita * string.c (rb_str_each_char_size): performance improvement by diff --git a/string.c b/string.c index e5d04cddc6..a4c76d4f7b 100644 --- a/string.c +++ b/string.c @@ -6518,7 +6518,7 @@ rb_str_enumerate_chars(VALUE str, int wantarray) if (wantarray) { #if STRING_ENUMERATORS_WANTARRAY rb_warn("given block not used"); - ary = rb_ary_new(); + ary = rb_ary_new_capa(rb_str_strlen(str)); #else rb_warning("passing a block to String#chars is deprecated"); wantarray = 0; @@ -6527,7 +6527,7 @@ rb_str_enumerate_chars(VALUE str, int wantarray) } else { if (wantarray) - ary = rb_ary_new(); + ary = rb_ary_new_capa(rb_str_strlen(str)); else RETURN_SIZED_ENUMERATOR(str, 0, 0, rb_str_each_char_size); } -- cgit v1.2.3