From da9f6cdcb774ae8ee052f9d05b0554a44dde2af4 Mon Sep 17 00:00:00 2001 From: glass Date: Fri, 2 Nov 2012 07:04:39 +0000 Subject: [PATCH] * array.c (recursive_equal): performance improvement. [ruby-dev:45412] [Feature #6177] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ array.c | 22 +++++++++++++++++++--- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index bf538d4d7b..3f05ea78cc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Nov 2 14:52:52 2012 Masaki Matsushita + + * array.c (recursive_equal): performance improvement. + [ruby-dev:45412] [Feature #6177] + Fri Nov 2 14:47:53 2012 Shugo Maeda * string.c (sym_to_proc, sym_call): A Proc created by Symbol#to_proc diff --git a/array.c b/array.c index e38c93b55f..ac6074d3c1 100644 --- a/array.c +++ b/array.c @@ -3270,11 +3270,27 @@ static VALUE recursive_equal(VALUE ary1, VALUE ary2, int recur) { long i; + VALUE *p1, *p2; if (recur) return Qtrue; /* Subtle! */ - for (i=0; i