"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > O desempenho C ++ iOStream é realmente mais lento que o PrintF/Scanf?

O desempenho C ++ iOStream é realmente mais lento que o PrintF/Scanf?

Postado em 2025-04-13
Navegar:789

Is C   IOStream Performance Actually Slower Than printf/scanf?

como otimizar o desempenho do iOSTream em C

c usuários geralmente preferem a família PrintF/SCANF de funções sobre os transportes, apesar da interface do Latter. As preocupações de desempenho são frequentemente citadas como o principal motivo para essa preferência. Isso é feito com:

char buffer [n]; std :: ifstream arquivo ("file.txt"); file.rdbuf ()-> pubSetBuf (buffer, n);

Locale Handling

char Buffer[N];
std::ifstream file("file.txt");
file.rdbuf()->pubsetbuf(Buffer, N);

std :: Locale :: global (std :: Locale ("c")); (std :: ios_base :: sync_with_stdio (false)) não oferece benefícios de desempenho observáveis. g 4.7.2 no Ubuntu 11.10: c 25% mais rápido

g 4.4.5 no ubuntu linux 10.10: c 17% mais rápido

std::locale::global(std::locale("C"));

clang 3.8.8.0 no macos x: c 111% clang 3.8.. Faster

Estes resultados indicam que as melhorias de desempenho do iostream variam dependendo de implementações de implementação específicas. Portanto, não existe uma solução universal para otimizar o iostreams entre plataformas.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3