Python быстрее, чем C ++? Как это произошло? [Дубликат]

На этот вопрос уже есть ответ здесь:

Почему чтение строк из stdin намного медленнее в C ++, чем в Python? 10 ответов

Я использую Windows7, используя CPython для python3.22 и MinGW g ++. Exe для C ++ (что означает, что я использую libstdc ++ в качестве библиотеки времени выполнения). Я написал две простые программы для сравнения их скорости.

Python:

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

Оба не оптимизированы.

Сначала я запустил c ++, затем запустил python через интерактивную командную строку, которая намного медленнее, чем прямой запуск файла .py.

Тем не менее, Python обогнал C ++ и оказался более чем в два раза быстрее. Python занял 53 секунды, c ++ - 1 минуту и 54 секунды.

Это потому, что в python есть какая-то особая оптимизация для интерпретатора, или это потому, что C ++ должен ссылаться на std, который замедляет его и заставляет его работать с ram?
Или это какая-то другая причина?

Редактировать:&nbsp;Я попробовал еще раз, с\n&nbsp;вместоstd::endlи составление с-O3&nbsp;флаг, на этот раз это заняло 1 минуту, чтобы достичь 500 000.