Eric Hodel
6/5/2007 6:29:00 AM
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.)