Project

General

Profile

« Previous | Next » 

Revision 18282268

Added by mame (Yusuke Endoh) over 1 year ago

Use rb_block_call2 for some Enumerable methods

Enumerable#all?, #any?, #one?, and #none? do not use yielded arguments
as an Array. So they can use rb_block_call2 to omit array allocatoin.

Enumerable#find does not have to immediately accept yielded arguments as
an Array. It can delay array allocation until the predicate block
returns truthy.

(TODO: Enumerable#count and #find_all seem to be optimizable as well.)