Python más rápido que C ++? ¿Como sucedió esto? [duplicar

Esta pregunta ya tiene una respuesta aquí:

¿Por qué leer líneas de stdin es mucho más lento en C ++ que Python? 10 respuestas

Estoy usando Windows7 usando CPython para python3.22 y g ++. Exe de MinGW para C ++ (lo que significa que uso libstdc ++ como biblioteca de tiempo de ejecución). Escribí dos programas simples para comparar su velocidad.

Pitón

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;
}

Ambas no están optimizadas.

Primero ejecuté c ++, luego ejecuté python a través de la línea de comandos interactiva, que es mucho más lenta que iniciar directamente un archivo .py.

Sin embargo, Python superó a C ++ y resultó ser más del doble de rápido. Python tomó 53 segundos, c ++ tomó 1 minuto y 54 segundos.

Es porque python tiene una optimización especial para el intérprete o es porque C ++ tiene que hacer referencia a y std que lo ralentiza y hace que ocupe ram?
¿O es alguna otra razón?

Editar Lo intenté de nuevo, con\n en lugar destd::endl, y compilando con el-O3 flag, esta vez tardó 1 minuto en llegar a 500,000.

Respuestas a la pregunta(10)

Su respuesta a la pregunta