[lnkForumImage]
TotalShareware - Download Free Software

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


 

Forums >

comp.lang.ruby

Another beginner question

Micah Carrick

6/5/2007 5:43:00 AM

Sorry if my "newbie" questions are excessive. I promise that if/when I
start getting on my feet with Ruby programming I will contribute back to
the learning process 10-fold. That's how I role.

Simple question:

I was turned on to Ruby via Ruby on Rails at the RailsConf here in
Portland via a friend. I was told there's a "plugin" (I'm assuming for
rails) for inline C code. What I'm wondering-- is as an interpreted
language, if there is a chunk of code that needs to execute very
quickly, is there a way to have C code that's compiled? Perhaps a library?

So, let's say I have a little GTK+ GUI that I wrote in Ruby to save
time, but it has some process-intensive routine-- could I write that
routine in C and have it as a compiled binary and run within my Ruby code?

--
- Micah Carrick

Developer - http://www.micahc...
GTK+ Forums - http://www.gtk...


3 Answers

Alex Gutteridge

6/5/2007 6:08:00 AM

0

On 5 Jun 2007, at 14:43, Micah Carrick wrote:

> Sorry if my "newbie" questions are excessive. I promise that if/
> when I start getting on my feet with Ruby programming I will
> contribute back to the learning process 10-fold. That's how I role.
>
> Simple question:
>
> I was turned on to Ruby via Ruby on Rails at the RailsConf here in
> Portland via a friend. I was told there's a "plugin" (I'm assuming
> for rails) for inline C code. What I'm wondering-- is as an
> interpreted language, if there is a chunk of code that needs to
> execute very quickly, is there a way to have C code that's
> compiled? Perhaps a library?
>
> So, let's say I have a little GTK+ GUI that I wrote in Ruby to save
> time, but it has some process-intensive routine-- could I write
> that routine in C and have it as a compiled binary and run within
> my Ruby code?
>

I've never used inline C in Ruby, but it is available (it is not
Rails specific AFAIK). You can also write C code and compile as an
extension:

http://www.rubycentral.com/book/ext...

Alex Gutteridge

Bioinformatics Center
Kyoto University



Eric Hodel

6/5/2007 6:29:00 AM

0

On Jun 4, 2007, at 22:43, Micah Carrick wrote:

> Sorry if my "newbie" questions are excessive. I promise that if/
> when I start getting on my feet with Ruby programming I will
> contribute back to the learning process 10-fold. That's how I role.
>
> Simple question:
>
> I was turned on to Ruby via Ruby on Rails at the RailsConf here in
> Portland via a friend. I was told there's a "plugin" (I'm assuming
> for rails) for inline C code. What I'm wondering-- is as an
> interpreted language, if there is a chunk of code that needs to
> execute very quickly, is there a way to have C code that's
> compiled? Perhaps a library?

There's a gem called RubyInline that does this (and C++ and Fortran).

> So, let's say I have a little GTK+ GUI that I wrote in Ruby to save
> time, but it has some process-intensive routine-- could I write
> that routine in C and have it as a compiled binary and run within
> my Ruby code?

RubyInline does all the build steps for you, you just write the C,
save the file, and run your tests to make sure it works. Just as if
you'd written regular Ruby.

(Of course, you should have regular ruby, profile it, refactor for
speed, then write in C when you can't get any more speed out of Ruby.)

Micah Carrick

6/5/2007 6:37:00 AM

0

Thank you. I appreciate the feedback.

- Micah Carrick

Developer - http://www.micahc...
GTK+ Forums - http://www.gtk...



Eric Hodel wrote:
> On Jun 4, 2007, at 22:43, Micah Carrick wrote:
>
>> Sorry if my "newbie" questions are excessive. I promise that if/when
>> I start getting on my feet with Ruby programming I will contribute
>> back to the learning process 10-fold. That's how I role.
>>
>> Simple question:
>>
>> I was turned on to Ruby via Ruby on Rails at the RailsConf here in
>> Portland via a friend. I was told there's a "plugin" (I'm assuming
>> for rails) for inline C code. What I'm wondering-- is as an
>> interpreted language, if there is a chunk of code that needs to
>> execute very quickly, is there a way to have C code that's compiled?
>> Perhaps a library?
>
> There's a gem called RubyInline that does this (and C++ and Fortran).
>
>> So, let's say I have a little GTK+ GUI that I wrote in Ruby to save
>> time, but it has some process-intensive routine-- could I write that
>> routine in C and have it as a compiled binary and run within my Ruby
>> code?
>
> RubyInline does all the build steps for you, you just write the C,
> save the file, and run your tests to make sure it works. Just as if
> you'd written regular Ruby.
>
> (Of course, you should have regular ruby, profile it, refactor for
> speed, then write in C when you can't get any more speed out of Ruby.)
>
>