Python mais rápido que C ++? Como isso acontece? [duplicado
Esta pergunta já tem uma resposta aqui:
or que as linhas de leitura do stdin são muito mais lentas em C ++ do que o Pytho 10 respostasEstou usando o Windows7 usando o CPython para python3.22 e o g ++. Exe do MinGW para C ++ (o que significa que eu uso o libstdc ++ como a biblioteca de tempo de execução). Escrevi dois programas simples para comparar sua velocidad
Pitão
x=0
while x!=1000000:
x+=1
print(x)
C ++:
#include <iostream>
int main()
{
int x = 0;
while ( x != 1000000 )
{
x++;
std::cout << x << std::endl;
}
return 0;
}
Não otimizado.
Executei o c ++ primeiro e, em seguida, executei o python pela linha de comando interativa, que é muito mais lenta do que iniciar diretamente um arquivo .p
No entanto, o python superou o c ++ e acabou sendo duas vezes mais rápido. Python levou 53 segundos, c ++ levou 1 minuto e 54 segundo
É porque o python possui alguma otimização especial feita para o intérprete ou é porque o C ++ precisa se referir e std, o que o torna mais lento e faz com que ele use RA
Ou é algum outro motivo?
Editar Tentei novamente, com\n
ao invés destd::endl
e compilando com o-O3
flag, desta vez demorou 1 minuto para chegar a 500.00