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 respostas

Estou 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

questionAnswers(10)

yourAnswerToTheQuestion