-----------------------------
! Execução ! Tempo !
! Java bytecode ! 24.482s !
! Código nativo ! 12.600s !
! gij bytecode ! 13.225s !
-----------------------------
pq? para ter uma performance teórica, fora da realidade?
e que tal interpretado com interpretado? vide a JVM contra gij...
ora, e não é o que eles estão fazendo? usando Java?
Realmente, código nativo não é portável, mas código fonte é.
fraca pq? de que maneira ele seria "conclusivo"?
só na cabeça de quem quer pq quer mostrar que a JVM é melhor
e daí? é o *mesmo* programa, não é quicksort em um e mergesort em outro. querendo mudar de assunto, né? ;)
Foi bem mais realista como ele fez: testando um programa que faz tanto IO quanto roda um pequeno algoritmo de compressão CPU-bound... como a maioria dos programas do mundo real...
e o que vc tem a dizer sobre a performance apresentada?
Seu código-fonte que gerou o binário não some de uma hora para a outra após a compilação, ok?
ei, é um programa Java, esqueceu? não vai estar usando nada específico de plataforma que não da própria plataforma Java...
esse computer language shootout existe há vários anos
programas implementando algoritmos específicos
sem usar toneladas de bibliotecas e sem mistura com IO
lema ... deveria ser "... rode em qualquer lugar, com variados graus de performance"
programas, principalmente comerciais, vai passar boa parte do tempo parada ... esperando por ... IO ... user-input ... comunicação em rede...
não disse nada.
se fizer isso vai se dar bem: vai ter o programa Java rodando em plataformas que em que a JVM não roda
JVM não roda, graças à ampla portabilidade de C
return 1;
significa que o programa deu erro em *nix, mas deu certo se for VMS.
IBM Java 1.5.0 12.573s
GCJ 4.1.1-1.fc5 12.901s
GIJ 4.1.1-1.fc5 13.228s
Sun Java 1.5.0.07 19.173s
assim que o suporte a swing (ou mesmo a swt) for adicionado, acho que já vale a pena testar.