Autor Tópico: Código em C é mais rápido que em C++?  (Lida 6934 vezes)

Offline AlexBR

  • Usuário Ubuntu
  • *
  • Mensagens: 388
    • Ver perfil
Código em C é mais rápido que em C++?
« Online: 04 de Novembro de 2006, 18:37 »
Tenho um conjunto de rotinas em C que estão funcionando perfeitamente. Contudo, devido a quantidade de loops e a grande quantidade de dados, o algoritmo que essas rotinas implementam leva 2,5 minutos para ser executado. Agora, implementei o mesmo código em C++. Nossa! Achei que ficou bem mais lerdo. Não estou acreditando! Alguém aqui já tem uma opinião formada sobre qual código é mais rápido: C ou C++?

Offline ppfb

  • Usuário Ubuntu
  • *
  • Mensagens: 337
    • Ver perfil
Re: Código em C é mais rápido que em C++?
« Resposta #1 Online: 04 de Novembro de 2006, 19:07 »
C++ é mais alto nível do q C, um é orientado ao objeto e outro não...vc acha coisas feitas em C++, em C vc tem q implementar qse tudo...

não é q um seja "mais rápido" que o outro...

há coisas em que eles são semelhantes, mas realmente programas em C costumam rodar mais rapido do que em C++

C++ mais rápido que Java e Java mais rápido que python =)

Offline AlexBR

  • Usuário Ubuntu
  • *
  • Mensagens: 388
    • Ver perfil
Re: Código em C é mais rápido que em C++?
« Resposta #2 Online: 05 de Novembro de 2006, 20:03 »
Rapaz, tô impressionado com os meus resultados. Dá uma diferença muito grande. Passei o fim-de-semana otimizando o meu código. Então, consegui reduzir o tempo de execução do código em C de 2,5 minutos para apenas 30 segundos. Contudo, se eu implemento o mesmo código em C++... Quer dizer... Como as funções compartilham dados comuns, eu, simplesmente, transformo esses dados em membros de dados privados de uma classe e as funções que o utilizam em membros privados da mesma classe. Assim, achei que o código em C++ seria mais rápido porque quase não são passados parâmetros as funções, ou seja, os dados são membros privados da classe. Contudo, o código em C++ é executado em 80 segundos. Quase três vezes mais lerdo que o código em C.

A partir de hoje, vou procurar escrever a parte mais crítica do meu código em C mesmo. ;-)

Offline _Luks

  • Usuário Ubuntu
  • *
  • Mensagens: 202
  • Debian Lenny
    • Ver perfil
    • Meu Blog
Re: Código em C é mais rápido que em C++?
« Resposta #3 Online: 08 de Novembro de 2006, 18:21 »
eu que sou matuto em programação de baixo nivel, nao to acostumado com a velocidade em c.
Eu fiz um algoritimo pra olimpiada brasileira de informatica, o algoritimo da piramide.
eu fiz em C e python. Eu coloquei a entrada 100000 em ambos codigos.
em c terminou de responder +- em 25 segundos
python demorou que so  :o :o :P

Offline daskrs

  • Usuário Ubuntu
  • *
  • Mensagens: 84
    • Ver perfil
Re: Código em C é mais rápido que em C++?
« Resposta #4 Online: 12 de Novembro de 2006, 05:14 »
Tenho um conjunto de rotinas em C que estão funcionando perfeitamente. Contudo, devido a quantidade de loops e a grande quantidade de dados, o algoritmo que essas rotinas implementam leva 2,5 minutos para ser executado. Agora, implementei o mesmo código em C++. Nossa! Achei que ficou bem mais lerdo. Não estou acreditando! Alguém aqui já tem uma opinião formada sobre qual código é mais rápido: C ou C++?
O C é mais rápido que o C++.
Mas com os hardwares atuais a diferença é imperceptível.
mas realmente é estranho o teu código ser tão pesado.
Eu não sei o que tu fez ae, mas tenta dar um otimizada no código pra ver se melhora a performance.