[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

native threads in ruby

Rick Penn

1/16/2008 10:36:00 AM

Is there anyway possible, one can make use of native threads in Ruby?
Maybe by interfacing with C or Java?
--
Posted via http://www.ruby-....

6 Answers

Charles Oliver Nutter

1/16/2008 11:13:00 AM

0

Rick Penn wrote:
> Is there anyway possible, one can make use of native threads in Ruby?
> Maybe by interfacing with C or Java?

JRuby supports native threads today, where each Ruby thread maps to one
native thread. There's also a second option, native thread pooling,
where the number of native threads used is only ever as high as the
number of threads running concurrently.

Normal native thread support is the default. Pooling can be enabled with
a command-line option:

-J-Djruby.thread.pooling=true

- Charlie

Jason Roelofs

1/16/2008 12:24:00 PM

0

[Note: parts of this message were removed to make it a legal post.]

On Jan 16, 2008 6:12 AM, Charles Oliver Nutter <charles.nutter@sun.com>
wrote:

> Rick Penn wrote:
> > Is there anyway possible, one can make use of native threads in Ruby?
> > Maybe by interfacing with C or Java?
>
> JRuby supports native threads today, where each Ruby thread maps to one
> native thread. There's also a second option, native thread pooling,
> where the number of native threads used is only ever as high as the
> number of threads running concurrently.
>
> Normal native thread support is the default. Pooling can be enabled with
> a command-line option:
>
> -J-Djruby.thread.pooling=true
>
> - Charlie
>
>
--enable-threading will put 1.8.6 in native thread mode, but it is unadvised
to do so. Ruby 1.9 does uses native threads as well as a construct called
Fibers, which I think are a better implementation of 1.8.6's green threads.

Jason

Tom M

1/16/2008 4:23:00 PM

0

On Jan 16, 7:23 am, Jason Roelofs <jameskil...@gmail.com> wrote:
> [Note: parts of this message were removed to make it a legal post.]
>
> On Jan 16, 2008 6:12 AM, Charles Oliver Nutter <charles.nut...@sun.com>
> wrote:
>
>
>
> > Rick Penn wrote:
> > > Is there anyway possible, one can make use of native threads in Ruby?
> > > Maybe by interfacing with C or Java?
>
> > JRuby supports native threads today, where each Ruby thread maps to one
> > native thread. There's also a second option, native thread pooling,
> > where the number of native threads used is only ever as high as the
> > number of threads running concurrently.
>
> > Normal native thread support is the default. Pooling can be enabled with
> > a command-line option:
>
> > -J-Djruby.thread.pooling=true
>
> > - Charlie
>
> --enable-threading will put 1.8.6 in native thread mode, but it is unadvised
> to do so. Ruby 1.9 does uses native threads as well as a construct called
> Fibers, which I think are a better implementation of 1.8.6's green threads.
>
> Jason

I believe that while 1.9 does support native threads, their benefit is
minimal as there is a global interpreter lock most of the time. Is
that correct?

Charles Oliver Nutter

1/16/2008 7:03:00 PM

0

Tom M wrote:
> I believe that while 1.9 does support native threads, their benefit is
> minimal as there is a global interpreter lock most of the time. Is
> that correct?

That is correct. Ruby 1.9 runs with native threads, but they don't run
concurrently.

- Charlie

Rick Penn

1/17/2008 1:18:00 AM

0

It looks like I'll be using JRuby. Does JRuby have all the features that
Ruby 1.8.6 has? Are there any plans to incorporate the features in 1.9
to JRuby?

Thanks,
Ryan
--
Posted via http://www.ruby-....

Charles Oliver Nutter

1/17/2008 10:33:00 AM

0

We've done the best job we can making JRuby compatible with Ruby
1.8.6, and hopefully others can attest to that. The only major feature
missing is Continuations, which are a little sketchy with native
threads anyway.

As for 1.9 features, we already have some. For example, we have a port
of the regexp engine 1.9 uses, and a native-thread-backed
implementation of Fibers. We probably won't include more before the
JRuby 1.1 release later this month, but we'll add as many as possible
after that, including all of 1.9's specific optimizations and support
for abitrarily-encoded strings.

- Charlie

On Jan 16, 2008, at 19:18, Rick Penn <emergence@gmail.com> wrote:

> It looks like I'll be using JRuby. Does JRuby have all the features
> that
> Ruby 1.8.6 has? Are there any plans to incorporate the features in 1.9
> to JRuby?
>
> Thanks,
> Ryan
> --
> Posted via http://www.ruby-....
>