Carlos Brando

Nome do Jogo

Acelere o Rails com C


Ao contrário do que alguns podem dizer, Ruby on Rails não é lento. Mas podem surgir situações onde você precise de mais velocidade. Nestes casos, existe a opção de incluir código em C no seu projeto Ruby on Rails.

Uma maneira de se conseguir isto é usar o RubyInline. O RubyInline funciona como um gem do ruby, que pode ser instalado normalmente.

[source:ruby]sudo gem install RubyInline[/source]

Depois de instalado você pode fazer algo assim:

[source:ruby] class MyTest

def factorial(n)

f = 1
n.downto(2) { |x| f *= x }
f

end

inline do |builder|

builder.c "
long factorial_c(int max) {
  int i=max, result=1;
  while (i >= 2) { result *= i--; }
  return result;
}"

end end [/source]

De acordo com o autor deste gem (Ryan Davis) o ganho de performance é considerável. Se você precisa desenvolver algo que deve ser executado mais rápido do que Ruby lhe permite, esta é uma alternativa interessante.

Comments