#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/>