[MacRuby] #1292: slows down method dispatch at "git commit 68ac3fcaf1041ef9b25fb3bc940a47f41505b7e5"

MacRuby ruby-noreply at macosforge.org
Fri May 20 08:34:27 PDT 2011


#1292: slows down method dispatch at "git commit
68ac3fcaf1041ef9b25fb3bc940a47f41505b7e5"
------------------------------+---------------------------------------------
 Reporter:  kouji@…           |       Owner:  lsansonetti@…        
     Type:  defect            |      Status:  new                  
 Priority:  major             |   Milestone:  MacRuby 0.11         
Component:  MacRuby           |    Keywords:                       
------------------------------+---------------------------------------------
 From Laurent:

 i also see that the VM outer variable is set during dispatch, with
 retain/release this is not good, because it slows down method dispatch
 significantly.

 {{{
 $ time
 /System/Library/PrivateFrameworks/MacRuby.framework/Versions/Current/usr/bin/macruby
 -e "def foo;42;end; i=0; while i<1000000; foo; foo; foo; foo; foo; i+=1;
 end"

 real    0m0.355s
 user    0m0.339s
 sys     0m0.011s
 $ time ./miniruby -e "def foo;42;end; i=0; while i<1000000; foo; foo; foo;
 foo; foo; i+=1; end"push_outer:3165:push_outer outer_stack(NSObject)

 real    0m1.155s
 user    0m1.095s
 sys     0m0.017s
 }}}

 the first is an "old" version of macruby (before the recent const
 lookup changes)

 we cannot keep that, so we need to find out a better way, i'm afraid

-- 
Ticket URL: <http://www.macruby.org/trac/ticket/1292>
MacRuby <http://macruby.org/>



More information about the macruby-tickets mailing list