Avatar ·

Por que ler linhas do stdin em C++ é mais lento do que em Python?

Olá a todos! Sou um desenvolvedor C++ iniciante, vindo do Python, e me deparei com um problema inesperado. Em Python, eu frequentemente resolvia problemas onde precisava ler grandes volumes de dados da entrada padrão (por exemplo, 10 milhões de linhas). O código em Python usando `sys.stdin.readline()` funcionava bastante rápido. Mas quando tentei escrever um código similar em C++ usando `std::getline` e `std::cin`, o desempenho foi várias vezes pior. Escrevi um benchmark simples: leio todas as linhas do stdin e apenas conto o número delas. Aqui está o código em C++ que estou usando: ```cpp #include #include int main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); std::string line; int count = 0; while (std::getline(std::cin, line)) { ++count; } std::cout << count << std::endl; return 0; } ``` Mesmo com a sincronização com stdio desativada (o que, segundo li, deveria acelerar), o programa em C++ funciona p