hoodwink.d enhanced


YARV Compiling on the Web, Native Thread Support #

by why in inspect

Here we go, further down the road of Ruby2. Ko1 has a script up for compiling Ruby scripts to YARV bytecode! With or without optimizations.

He’s also started adding native thread support within the last few days. The YARVCore::VM::Thread comments show possibility for three independant threading modes.

  YARV Thread Desgin

  model 1: Userlevel Thread
    Same as traditional ruby thread.

  model 2: Native Thread with Giant VM lock
    Using pthread (or Windows thread) and Ruby threads run concurrent.

  model 3: Native Thread with fine grain lock
    Using pthread and Ruby threads run concurrent or parallel.

As always, a very low bow in reverent subservience to Sasada. (More at the YARV page.)

said on 04 Oct 2005 at 09:27

Great, but when does YARV get integrated with mainline Ruby?

said on 04 Oct 2005 at 09:39

Far out on the horizon, the great 2.0 begins to come into view. I’m shaking just thinking about it.

said on 04 Oct 2005 at 09:57

WhenBoy: See this. Esp. the IRC conversation.

said on 04 Oct 2005 at 11:05

Let’s implement YARV in hardware. Then Ruby will be one of the fastest languages on the planet.

said on 04 Oct 2005 at 11:07

why: Yes, I understand “soon,” but I was hoping for a more granular update. :) Chomping at the bit for Ruby2, I am.

said on 04 Oct 2005 at 11:11

now, YARV support only model 2.

said on 04 Oct 2005 at 11:48

ko1: And the plan is to have all three?

said on 04 Oct 2005 at 22:50

If I’m not mistaken, many scripting languages (like CPython) also supports model 2 only? I personally don’t mind as long as I get OS threads. Have never used green threads much either (and one can always use Ruby1.8 if he/she needs green threads anyway).

Also, OOT , when will the page look decent in Opera8? ;-)

said on 04 Oct 2005 at 22:53

WhenBoy: read again, it’s not just “soon”, it’s “hopefully before the end of 2005.” That should be concrete enough, right? Or do you need the exact date and time? I think Matz has a tradition to release stuffs on Christmas day…

said on 05 Oct 2005 at 02:17

well, Sydney supports model 1&3, so at least there is a chance that we can get the feature… and if we can, why we would not have it?

said on 05 Oct 2005 at 06:19

why: I want to try. It’s fight againt time.

riffraff: Sydney doesn’t change Ruby intereter. YARV changes it.

BTW , Sydney support model 3? I saw sources, but no exclusive synchronization on shared object (ie: Array). It’s too danger.

said on 11 Oct 2005 at 00:47

yep, sydney supports 1 and 3. my MODIFY api is used in all the builtin classes to provide synchronization on shared objects.

Comments are closed for this entry.