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]

Reply via email to