Comparação de Performance entre linguagens

27 respostas
S

Apesar de ser um teste bastante simples, os resultados impressionam. Não sabia que java era tão superior assim em performance.

http://blog.dhananjaynene.com/2008/07/performance-comparison-c-java-python-ruby-jython-jruby-groovy/

27 Respostas

L

Olá

Por favor leiam as regras do forum antes de postar notícias. Será que isto é uma notícia? Na minha opinião e posso até estar errado, isto é apenas um texto de um blog.

[]s
Luca (que aprovou este troço apenas para manifestar sua opinião)

M

No mínimo estranho…
Mais rápido que C++? Não faz muito sentido.

P

Fazer sentido até faz, o problema é levar ao pé da letra que “um teste, em uma condição específica, foi mais rapido que a linguagem X”

A
No mínimo estranho... Mais rápido que C++? Não faz muito sentido.

Bem, também depende muito do programador. Exemplo:

Temos esse programa em C++

#include<iostream>
using namespace std;

int main()
{
system("sleep 10");
cout<< "Hello World"<<endl;
return 0;
}
Temos esse programa em Java
public class Hello
{
public static void main(String args[])
{
System.out.print("Hello World");
}
}

Claramente esse progrtama em Java tem mais performance, não significa que um programa feito em C/C++ é SEMPRE mais otimizado do que qualquer implementação em outra linguagem.

T

O programa que foi postado mostra uma deficiência tradicional de quem faz benchmarks em C++ que é o uso do alocador padrão de memória (que é realmente mais lento que o alocador de memória do Java).
Se for usado um alocador mais rápido (isso é plenamente possível em C++, basta escrever um pouco mais de código, e nesse caso, como o padrão de alocação de memória é conhecido, é relativamente fácil escrever o tal alocador) ele vai ficar mais rápido que o programa em Java.

B

Falou tudo, não há muito o que discutir.

E

Haaa! Chutou o balde :stuck_out_tongue:

Nos comentários do post no blog os caras estão até questionando os resultados do teste, visto q fizeram o mesmo teste e não deu a mesma cosia, um lá diz q o Ruby deu a mesma velocidade q PHP, etc…

Isto de notícia não tem nada… o tópico devia ser movido não? Para off-topic talvez :lol:

L

Olá

Não movi porque e regra é clara: o que não é notícia deve ser apagado para o cabra aprender. Não apaguei só para dar o recado porque tem gente que ainda tem dúvidas sobre o que é notícia. Esta comparação de linguagens mal feita não seria notícia mesmo que tivesse saído em algum lugar de destaque ao invés de um bloguezinho zé mané.

[]s
Luca

L

marciosantri:
No mínimo estranho…
Mais rápido que C++? Não faz muito sentido.

A JVM já cria código mais otimizado do que o C++, as novas versões comprovam isso (e inclusive um testezinho bobo desse blog é uma prova)

Claro, se o programador C++ souber BEM como otimizar o software, trabalhar certinho com ponteiros, GC e assim por diante, pode até fazer um código mais rápido.

Mas esse papinho de C++ é rápido PRA CARALHO, que HUMILHA .NET e Java (como a maioria dos programador C++ falam) é típico papo de escovador de bit, sei lá, pelo menos os que eu conheci eram ;~

E

Leozin:

Mas esse papinho de C++ é rápido PRA CARALHO, que HUMILHA .NET e Java (como a maioria dos programador C++ falam) é típico papo de escovador de bit, sei lá, pelo menos os que eu conheci eram ;~

Isto depende muito, temos aqui uma situação de um ISAPI feito em C++ q esta em produção a anos, e estamos tentando a alguns meses substituir por um novo http handler em C#.net q foi desenvolvido durante uns 2 anos pelo menos, e esta em todos os ambientes de teste… mas não esta dando para subir em produção por q simplismente não aguenta, o portal fica muitooo lento, e a coisa não anda… moral da história é preciso novos servidores, e isto esta sendo complicado de mais, por estas e outras eu respeito e muito C++, quando se tem um bom escovador de bit a conversa é outra.

Só para ter idéia é um portal q roda em 9 servidores com balanceamento, e 10.000 usuários, é a plataforma de balcões de um banco aqui… C++ com servidores antigos e alta performance, C#.net não chega lá nem a pau, e os dois foram desenvolvidos com supervisão da Microsoft.

P

O cabra às vezes comete um engano, como já aconteceu comigo.
Imediatamente após o tal engano, escrevi uma MP a um moderador pedindo para mover a mensagem de “Notícias” para “Off”, mas a mesma já havia “desaparecido”…
Agora entendo o que aconteceu.
Não encontrei em nenhuma regra que “o que não é notícia deve ser apagado para o cabra aprender”, e acho que seria mais humano (assim com o é o fato de errar) que se preserve o que foi escrito pelos usuários, movendo para o local apropriado.

F

Luca:
Olá

Não movi porque e regra é clara: o que não é notícia deve ser apagado para o cabra aprender. Não apaguei só para dar o recado porque tem gente que ainda tem dúvidas sobre o que é notícia. Esta comparação de linguagens mal feita não seria notícia mesmo que tivesse saído em algum lugar de destaque ao invés de um bloguezinho zé mané.

Tá parecendo com os comentários de Arnaldo César Coelho :lol:

regra é clara

Outra coisa, alguem viu o codigo em Python, porque eu não achei…

flwssss

E

O cabra às vezes comete um engano, como já aconteceu comigo.
Imediatamente após o tal engano, escrevi uma MP a um moderador pedindo para mover a mensagem de “Notícias” para “Off”, mas a mesma já havia “desaparecido”…
Agora entendo o que aconteceu.
Não encontrei em nenhuma regra que “o que não é notícia deve ser apagado para o cabra aprender”, e acho que seria mais humano (assim com o é o fato de errar) que se preserve o que foi escrito pelos usuários, movendo para o local apropriado.

provavelmente o processo de deletar é muito mais fácil e prático do q mover :twisted:

L

Olá

Regra entre os moderadores

pinto:
e acho que seria mais humano (assim com o é o fato de errar) que se preserve o que foi escrito pelos usuários, movendo para o local apropriado.

Concordo e agimos assim durante anos, mas dava muito trabalho e então se combinou que era melhor apagar.

[]s
Luca

P

Editado para não compartilhar com vcs o meu mau-humor de hoje.
I’m sorry.

P

Ha quem confunda a linguagem com uma implementação específica da mesma.

Eu posso criar um compilador C++ tão podre (acredite) que qq hello word pode levar decadas para ser executado, ai comparado com um gerador de fractais em MSX Basic, C++ vai ser lento?

Sem falar que coisas como: opções de compilação, arquitetura, quantidade de memória, sistema operacional, são sumariamente ignorados nessas comparações bombásticas.

O que lembra muito as discussões: Linguagem X não escala. Aonde fica o bit de escalabilidade da linguagem?

O

Eu acho que isso é uma notícia sim, ué.

Vcs tem regras rígidas demais pro que seria uma notícia.

Em virtude disso da pra entrar no site de 15 em 15 dias pra ver as notícias de tão poucas que tem aqui. E é capaz de o “quadradinho” nem estar cheio de novas notícias.

C

http://vitorpamplona.com/wiki/JavaVsC+com+Processadores+CoreX

e ae thiago, altere o codigo em C++ lá e venca o desafio :wink:

F

pinto:
Editado para não compartilhar com vcs o meu mau-humor de hoje.
I’m sorry.

Vixe esse topico tá deixando as pessoas extressadas dimais… Anarquiaaaaaa!!!

onolox:
Eu acho que isso é uma notícia sim, ué.

Vcs tem regras rígidas demais pro que seria uma notícia.

Em virtude disso da pra entrar no site de 15 em 15 dias pra ver as notícias de tão poucas que tem aqui. E é capaz de o “quadradinho” nem estar cheio de novas notícias.

Já to até vendo a quantidade de mensagens privadas que seram enviadas para os administradores do site pedindo novos moderadores… eita povo revoltado, regras são regras! Se não fosse assim não teria esse nome…

flwssss

L

Olá

Voltando ao tema do tópico que é a quinquilionésima vez que vemos comparações entre linguagens feitas a partir de exemplinhos meia boca:

Muito mais interessante do que o blogueiro deste tópico foi a resposta do Vitor Pamplona em http://vitorpamplona.com/wiki/JavaVsC+com+Processadores+CoreX

[]s
Luca

C

Luca,

Mas a resposta dele foi “c++ é lento”

E ele usou exatamente o mesmo exemplo “meia boca” que vc estava se referindo…

P

Concordo e agimos assim durante anos, mas dava muito trabalho e então se combinou que era melhor apagar.

[]s
Luca

O bom e velho jeitinho brasileiro. Dá trabalho? Ah, que nada. vamos apagar tudo logo. É melhor.

E por fato, a falta de notícias que tem por aqui é foda… Se tem duas noticias a cada 2/3 dias é muito.

Voltando ao assunto do tópico: Mas sobre isso de linguagem mais rapida, é pura balela mesmo. Java é rapido que só o cão, C++ também (como disse o colega, se vc souber usar ponteiros, GC, etc).

O que sempre vai influenciar é a cabeça do cidadão que programou.

E eita testezinho meia boca.

L

Olá

chun:
Mas a resposta dele foi “c++ é lento”

E ele usou exatamente o mesmo exemplo “meia boca” que vc estava se referindo…

O meu termo meia boca foi genérico e apliquei para todas as muitas comparações que já vi por aí. No fundo acho bobagem estas comparações porque cada linguagem tem sua serventia e nem sempre o objetivo principal é o desempenho.

Nos raros casos em que o desempenho é o requisito principal, na maioria das vezes a troca de algoritmo acarreta ganhos maiores do que a troca da linguagem.

Dos casos que sobram, ainda precisariam ser retirados aqueles em que se pode mexer na arquitetura ou no hardware para se atingir o desempenho requerido.

[]s
Luca

D

Sergio Figueras:
Luca:

pinto:
e acho que seria mais humano (assim com o é o fato de errar) que se preserve o que foi escrito pelos usuários, movendo para o local apropriado.

Concordo e agimos assim durante anos, mas dava muito trabalho e então se combinou que era melhor apagar.

[]s
Luca

O bom e velho jeitinho brasileiro.

Melhor não começar a meter o Brasil no meio que não tem nada a ver :smiley:

Nao e a primeira vez que alguem posta um artigo mencionando que Java é mais rápido que o C++. Dos que eu lembro, tem um artigo de um cara do Google que publico mais ou menos um ano atrás, e no curso de pós-graduação em orientação a objetos na Unicamp tem uma aula onde o professor faz um teste na própria aula.

Eu fiquei contente com que o JRuby tenha se dado melhor que o MRI :smiley:

J

gostei dessa http://vitorpamplona.com/wiki/JavaVsC+com+Processadores+CoreX

na minha opiniao toda comparacao entre java e C++, em que mostra o quanto java evoluiu,
pra mim e’ noticia sim e bastante importante.

Fiquei contente em ver esta comparacao.

Alias no link ai em cima, tem um desafio.

L

questoes de performace são muito relativos dependem principalmente do algoritimo implementado… (incluindo os das APIs tbm…) e para um brenchmark de verdade deveriam testar em maquinas diferentes em processadores diferentes…

G

Peço desculpas aos moderadores por ressucitar um tópico, mas este comentário precisa ser feito.

Pessoal, vocês olharam o código com certa atenção? O programa em C++ faz 1 Milhão de iterações enquanto os outros fazem 100 mil. Assim fica fácil né?

Mas existem mais algumas coisas que merecem ser ditas, e a primeira é que C++ é ++eficiente, ponto.

Outra coisa que influencia é a velocidade em apresentar os resultados.

Mas a mais importante é que em C ou C++ (e Java), para os melhores resultados, não se deve programar como se fosse Pascal ou linguagens bonitinhas, pra ficar aquele código extremamente elegante que fazíamos ao entregar nossos primeiros programas ao professor de introdução à programação. Os programas realmente rápidos chegam bem perto do limite entre arquitetura e portabilidade. Há alguns códigos em C++ por aí que mesmo eu não entendo assim que vejo, mas são super eficientes porque são quase assembly.

Criado 15 de julho de 2008
Ultima resposta 8 de fev. de 2012
Respostas 27
Participantes 18