Improve performance of Array#- when it is called with empty array

This change make Array#- return a copy of the receiver when
the other array is empty.
This commit is contained in:
Masaki Matsushita 2021-02-06 17:01:42 +09:00
Родитель 94fb62e4a0
Коммит e1e61e256b
1 изменённых файлов: 1 добавлений и 0 удалений

Просмотреть файл

@ -5291,6 +5291,7 @@ rb_ary_diff(VALUE ary1, VALUE ary2)
long i;
ary2 = to_ary(ary2);
if (RARRAY_LEN(ary2) == 0) { return ary_make_shared_copy(ary1); }
ary3 = rb_ary_new();
if (RARRAY_LEN(ary1) <= SMALL_ARRAY_LEN || RARRAY_LEN(ary2) <= SMALL_ARRAY_LEN) {