Bizarro: Ruby 1.9.2 no Windows. Nativo x “emulado”

15 12 2010

Mais uma vez, Ruby e Windows num mesmo post hehehe.

Todo mundo sabe, Ruby no windows é lerdo.

Algumas coisas não funcionam, algumas gems são incompatíveis, tudo isso é fato.

Todo mundo também sabe que o @luislavena é um dos grandes responsáveis por tornar essa experiência menos dolorosa. Menos dolorosa.

Você já deve ter ouvido dizer que a ignorância é uma benção, não?

Pura verdade.

Se você experimentar programar Ruby no Linux vai ver que tudo funciona mais fácil e mais rápido.

É gritante a diferença de velocidade, o que acaba impactando no tempo de desenvolvimento também, ou seja, se você pode, use linux (ou OSX).

Se você não pode, vamos lá.

Eu li sobre um jeito de rodar linux dentro do windows, sem emulador.

Sim, sem vmware, sem virtualbox.

Fui caçar no google e achei o bicho: Colinux

Cooperative Linux is the first working free and open source method for optimally running Linux on Microsoft Windows natively. More generally, Cooperative Linux (short-named coLinux) is a port of the Linux kernel that allows it to run cooperatively alongside another operating system on a single machine. For instance, it allows one to freely run Linux on Windows 2000/XP/Vista/7, without using a commercial PC virtualization software such as VMware, in a way which is much more optimal than using any general purpose PC virtualization software.

A instalação e configuração do Colinux são um parto, mas os caras do andLinux deixaram a coisa um pouco melhor:

andLinux is a complete Ubuntu Linux system running seamlessly in Windows 2000 based systems (2000, XP, 2003, Vista, 7; 32-bit versions only). This project was started for Dynamism for the GP2X community, but its userbase far exceeds its original design. andLinux is free and will remain so, but donations are greatly needed.
andLinux uses coLinux as its core which is confusing for many people. coLinux is a port of the Linux kernel to Windows. Although this technology is a bit like running Linux in a virtual machine, coLinux differs itself by being more of a merger of Windows and the Linux kernel and not an emulated PC, making it more efficient. Xming is used as X server and PulseAudio as sound server.
andLinux is not just for development and runs almost all Linux applications without modification.

A grande limitação é somente poder rodar em win 32. A grande maioria dos desenvolvedores que eu conheço roda win 7 64. Mas se você roda winxp num Pentium E2200 como eu, alegre-se!

A instalação é super simples, padrão next next finish, tem a documentação completa no site.

Não vou entrar em detalhes aqui sobre a instalação do ambiente ruby no ubuntu, mas se vc procurar vai achar montes por ai, viva o santo google.

No teste tenho instalado em ambos “ambientes”

Windows:

ruby 1.9.2p0 (2010-08-18) [i386-mingw32]
Rails 3.0.3

andLinux:

ruby 1.9.2p0 (2010-08-18 revision 29036) [i686-linux]
Rails 3.0.3

vou criar uma aplicação nova em ambos com:

rails new testeperformance

vou criar o suficiente para um teste simples com:

rails g scaffold pessoa nome:string

agora vou gerar o banco e rodar os testes padrão com:

rake db:migrate

e

rake test

Resultados:

Windows:

Loaded suite C:/Ruby192/lib/ruby/1.9.1/rake/rake_test_loader
Started
.
Finished in 2.156195 seconds.

1 tests, 1 assertions, 0 failures, 0 errors, 0 skips

Test run options: –seed 11815
Loaded suite C:/Ruby192/lib/ruby/1.9.1/rake/rake_test_loader
Started
…….
Finished in 2.874927 seconds.

7 tests, 10 assertions, 0 failures, 0 errors, 0 skips

Test run options: –seed 37819

andLinux:

Loaded suite /home/alex/.rvm/gems/ruby-1.9.2-p0/gems/rake-0.8.7/lib/rake/rake_test_loader
Started
.
Finished in 0.190003 seconds.

1 tests, 1 assertions, 0 failures, 0 errors, 0 skips

Test run options: –seed 29506
Loaded suite /home/alex/.rvm/gems/ruby-1.9.2-p0/gems/rake-0.8.7/lib/rake/rake_test_loader
Started
…….
Finished in 1.020015 seconds.

7 tests, 10 assertions, 0 failures, 0 errors, 0 skips

Test run options: –seed 25629

A diferença é imensa, já imaginou rodar isso em uma aplicação grande?

Ambos ambientes ruby e rails são recém instalados.
Os testes foram executados repetidas vezes.
Em todas as vezes a diferença de tempo é proporcional.

Conclusão:

Bizarro. Nesta máquina usarei o andLinux para desenvolvimento Ruby.

Ah! o GVIM fica perfeito nele também. Rápido e todos plugins funcionam.

Anúncios

Ações

Information

5 responses

21 12 2010
stJhimy

Gostei do título lol

21 12 2010
PotHix

Æ!!

O Patrick Espake post algum tempo atrás falando sobre performance do Ruby no Windows, e o próprio Luis Lavena comentou falando que não era justo falar do Ruby no windows sem utilizar o instalador nativo, por qeu o emulado realmente ia ser mais lento.

O post é esse: http://blog.patrickespake.com/2010/05/12/desempenho-ruby-windows-vs-linux/

Um pouco diferente os resultados 🙂

Há braços

21 12 2010
Alex

Nenhuma diferença PotHix. Usei o instalador nativo no windows comparado com o andLinux, e ele apanha feio do mesmo jeito.

23 12 2010
Eduardo Resende

acredito que o Colinux acaba sendo uma virtualizacao tipo VMware no fim das contas. Bizarro seria se ele perdesse pro windows nativo.

21 02 2011
Breno Salgado

Galera, vcs poderiam aprofundar um pouco no ‘set up’ do andlinux pra desenvolvimento? estou tentando migrar pro linux pelo andLinux, porém estou tendo problemas tanto pra usar sqlite3(não consigo instalar a gem do sqlite3 e não consegui achar uma solução no google..acredito que não seja relacionado ao andLinux)
e o mysql tb não to conseguindo usar..

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s




%d blogueiros gostam disto: