[macruby-changes] [400] MacRuby/branches/lrz_unstable/array.c

source_changes at macosforge.org source_changes at macosforge.org
Sat Aug 2 22:23:47 PDT 2008


Revision: 400
          http://trac.macosforge.org/projects/ruby/changeset/400
Author:   lsansonetti at apple.com
Date:     2008-08-02 22:23:47 -0700 (Sat, 02 Aug 2008)
Log Message:
-----------
faster Array#count

Modified Paths:
--------------
    MacRuby/branches/lrz_unstable/array.c

Modified: MacRuby/branches/lrz_unstable/array.c
===================================================================
--- MacRuby/branches/lrz_unstable/array.c	2008-08-03 05:23:25 UTC (rev 399)
+++ MacRuby/branches/lrz_unstable/array.c	2008-08-03 05:23:47 UTC (rev 400)
@@ -3351,17 +3351,14 @@
     }
     else {
 	VALUE obj;
-	long i, count = RARRAY_LEN(ary);
+	long count = RARRAY_LEN(ary);
 
 	rb_scan_args(argc, argv, "1", &obj);
 	if (rb_block_given_p()) {
 	    rb_warn("given block not used");
 	}
 #if WITH_OBJC
-	for (i = 0; i < count; i++) {
-	    if (rb_equal(RARRAY_AT(ary, i), obj)) 
-		n++;
-	}
+	n = CFArrayGetCountOfValue((CFArrayRef)ary, CFRangeMake(0, count), RB2OC(obj));
 #else
 	for (p = RARRAY_PTR(ary), pend = p + RARRAY_LEN(ary); p < pend; p++) {
 	    if (rb_equal(*p, obj)) n++;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macruby-changes/attachments/20080802/b021a7e6/attachment.html 


More information about the macruby-changes mailing list