Get Adobe Flash player

Ruby1.8 vs Ruby1.9

Autor: Alexandre Bini | Data: 16/11/2009 | Tags: , | Categoria: Ruby

Muito já se falou[1] [2] sobre as vantagens da versão 1.9 em relação ao 1.8 do ruby, mas nós (como muitos de vocês que estão nos lendo) não estamos utilizando tal advento em produção, pois ela ainda apresenta algumas incompatibilidades com plugins que não conseguimos viver.

Como alguns devem saber, estou implementando para meu tcc um software que dentre outras coisas realiza o self-organizing-map, de Kohonen. Tal algoritmo não é tão complexo a nível de programação, mas como grande parte dos algoritmos de Inteligência Artificial, ele consome muito processamento.

Devido a isso, realizei diversas implementações (actionscript, ruby puro, ruby e c++) – em breve disponibilizarei – e o que realmente me chamou atenção foi quanto a performance da nova versão que nesse teste, foi quase 2x mais rápida:

Comparativo entre tempo de execução - quanto menor, melhor

Ruby 1.8:

script/performance/benchmarker 2 Train.test_rb
user     system      total        real
#1     39.510000   7.040000  46.550000 ( 46.574937)
#1     41.900000   7.060000  48.960000 ( 49.245010)
#1     42.260000   7.020000  49.280000 ( 49.644825)

Ruby 1.9:

script/performance/benchmarker 2 Train.test_rb
user     system      total        real
#1     28.100000   0.060000  28.160000 ( 28.193008)
#1     26.790000   0.100000  26.890000 ( 27.049028)
#1     27.150000   0.060000  27.210000 ( 27.616277)

É (ou já passou) a hora de mudar.



2 comentários

  1. Elvis Fernandes
    18/12/2009 13:39
    1

    Olá, Alexandre!

    Eu também usei as redes SOM de Kohonen no meu TCC (http://www.elvis.eti.br/2008/02/10/inteligencia-artificial-para-quem-nao-pode-ter-um-crm/), só que eu fiz em Java.

    Estou à procura de uma implementação dessa rede em ruby puro. Se você puder compartilhar o seu código, será muito útil :-)

    Parabéns pela comparação do desempenho. Sem dúvida, uma informação valiosa.

    P.S.: O primeiro link deste artigo está “quebrado” (tem um http:// a mais).

    Abraço!

    Elvis

  2. Alexandre Bini
    18/12/2009 13:59
    2

    Olá Elvis, boa tarde!

    Aqui http://github.com/voraz/neuralize.me você encontra tanto a minha monografia quanto todo o código fonte da aplicação.

    Abraço!

Deixe um comentário!





Assine o nosso feed!

Aqui...

é um espaço colaborativo. Se você tem algo muito legal a dizer, envie pra gente no voraz@voraz.com.br

Categorias




Arquivo

Links