Для этого существует пакет RubyInline он предназначен для включения в код на руби небольших отрезков на C. Для примера рассмотрим простейшую задачу - поиск факториала.
class Test
def factorial(n)
f = 1
n.downto(2) { |x| f *= x }
f
end
end
t = Test.new
tstart = Time.now
t.factorial(200)
tend = Time.now
puts tend - tstart
Теперь рассмотрим код такого-же функционала но с RubyInline
require 'rubygems'
require 'inline'
class Test
inline do |builder|
builder.c "
long factorial(int max) {
int i=max, result=1;
while (i >= 2) { result *= i--; }
return result;
}"
end
end
t = Test.new
tstart = Time.now
t.factorial(200)
tend = Time.now
puts tend - tstart
И сравним время, у меня в тесте №1 время получилось равным: 0.001903 А в тесте номер №2 - 0.0000032
Так что результат на лицо ).
P.S. Под windows b системы без компилятора работать не будет.
P.P.S Под Windows используйте cygwin или просто переходите на другую OS