On Feb 1, 2010, at 1:41 PM, rogerdpack wrote: >> We actually already do this in Rubinius, but we do it in the JIT directly. >> It's far less problematic than generating C code that you have to figure out >> how to link back in, plus we can inline methods, all that without loosing >> any backtrace information. > > True that it is indeed less problematic. > > However there is still something to be gained, should you ever be > interested... > > ex: > > while i<100_000_000 # benchmark loop 1 > i+=1 > end
Did you put this in a method and call it multiple times? Rubinius has no on stack replacement, so you'll need to run it more than once to see the JIT kick in. > > On my VM (at least) > > 1.9.1p376: 11.1s > > rbx 1.0rc2 (with JIT): 10.8s > > 1.8.7 + crystalizer: 3.8s > > Might be worth considering. While that's cute, this kind of micro benchmark doesn't translate into performance on any real world code. As I said above, I'll bet that if you run this benchmark and allow the JIT to run, you'll see it's as fast or faster than crystalize. > Many thanks. > -r > > -- > --- !ruby/object:MailingList > name: rubinius-dev > view: http://groups.google.com/group/rubinius-dev?hl=en > post: [email protected] > unsubscribe: [email protected] > -- --- !ruby/object:MailingList name: rubinius-dev view: http://groups.google.com/group/rubinius-dev?hl=en post: [email protected] unsubscribe: [email protected]
