Benchmark JRuby vs Groovy  XML
Índice dos Fóruns » Outras Linguagens
Autor Mensagem
Mauricio Linhares
Moderador
[Avatar]

Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline

Olá pessoal,

Dando continuidade aos comentários desse tópico, estou portando o benchmark feito pelo Antonio Cangiano pra os diversos interpretadores Ruby pra Groovy (e provavelmente pra Java também), o Groovy utilizado é o 1.6.beta.2, o JRuby 1.1.5.

Como os meus conhecimentos de Groovy não são mais tão atuais, gostaria de ajuda dos Grooveiros de plantão pra portar esse negócio, meu primeiro problema foi o fatorial, que está dando stack overflow (ele funciona perfeitamente em Java puro, no JRuby eu tenho que mandar aumentar o espaço de memória da pilha, dá pra fazer isso com Groovy também?):



A minha JVM é essa aqui:

Java wrote:java version "1.6.0_10"
Java(TM) SE Runtime Environment (build 1.6.0_10-b33)
Java HotSpot(TM) Server VM (build 11.0-b15, mixed mode)

This message was edited 2 times. Last update was at 15/11/2008 10:05:53


Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr

Screencast de Introdução a linguagem Objective-C
[WWW]
Mauricio Linhares
Moderador
[Avatar]

Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline

E só pra constar, rodando esse código em "Java puro" ele rodou em 0.356 segundos (já considerando a afirmação do Louds aí embaixo), o JRuby demorou 1.395 segundos.

A minha máquina é um Intel Core 2 Quad com 2gb de memória, rodando Ubuntu 8.04 no kernel "server".

This message was edited 2 times. Last update was at 14/11/2008 23:33:12


Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr

Screencast de Introdução a linguagem Objective-C
[WWW]
louds
Moderador
[Avatar]

Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline

Benchmark furado, não mede a mesma coisa e não testa se a saída está correta.

Java não promove int para bigint. Ruby faz isso e boa parte da demora é por conta disso. Enquato java continua multiplicando ints, o ruby tá fazendo isso com número de 1 zilhão de dígitos.

http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda
[ICQ]
Mauricio Linhares
Moderador
[Avatar]

Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline

Hum, detalhe importante, realmente pulei esse fato, em Java o resultado é completamente errado.

This message was edited 1 time. Last update was at 14/11/2008 23:23:20


Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr

Screencast de Introdução a linguagem Objective-C
[WWW]
faelcavalcanti
GUJ Ranger
[Avatar]

Membro desde: 03/05/2006 13:16:25
Mensagens: 960
Localização: Recife-PE
Offline

existe uma grande diferença considerável na maioria dos testes de Ruby e JRuby, quais seriam os principais fatores ? no caso do JRuby os errors foram que excedeu o permGen ?
a data do thrunk que ele obteu foi o mesmo do Ruby e a versão do JRuby pareceu ser a 1.8.6, então aí tem-se uma desvantagem na comparação, pelo mesmo paliativo como foi o caso com o Ruby 1.8.

agora se fossemos comparar implementação das VM´s de JRuby e Ruby .NET quais as vantagens e desvatagens atuais entre ambas ?

ao mencionar os erros, não vi no artigo que tipo de erro teria causado!

This message was edited 1 time. Last update was at 15/11/2008 03:38:28



--
http://faelcavalcanti.wordpress.com/ :: http://pe.debianbrasil.org/
--
Acredite um pouco mais na força de sua própria intuição. Muitas vezes deixamos de realizar algo de bom ou que nos favoreça simplesmente porque achamos tudo muito difícil e por isso nem começamos. Moral da história: A vida é o caminho e não o destino, você é o arquiteto do seu caminho!
--
Obrigado, Rafa Rocha!
[WWW]
Mauricio Linhares
Moderador
[Avatar]

Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline

Agora Groovy rodou, no fim, temos os seguintes tempos pra esse primeiro benchmark (lembrando que JRuby e Groovy tiveram que aumentar o tamanho o stack pra poder rodar) :

Java: 0.356
Groovy: 0.630
JRuby: 1.395

Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr

Screencast de Introdução a linguagem Objective-C
[WWW]
neófito
Virtual Machine Man
[Avatar]

Membro desde: 07/10/2003 08:29:35
Mensagens: 575
Localização: São Paulo/SP
Offline

Maurício,

Não postei mais no outro tópico porque eu estava viajando. Agora que o código em groovy rodou, você pode postá-lo, ou foi só aumentar o tamanho da stack? Quais foram os argumentos que você passou para a jvm para mudar o tamanho da stack?

Valeu.
[Email]
 
Índice dos Fóruns » Outras Linguagens
Ir para:   
Powered by JForum 2.1.8 © JForum Team