«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Является ли C ++ Iostream производительность действительно медленнее, чем Printf/Scanf?

Является ли C ++ Iostream производительность действительно медленнее, чем Printf/Scanf?

Опубликовано в 2025-04-13
Просматривать:187

Is C   IOStream Performance Actually Slower Than printf/scanf?

Как оптимизировать производительность iostream в C

C Пользователи часто предпочитают семейство функций Printf/Scanf по сравнению с Cistreams, несмотря на интерфейсные преимущества последнего. Проблемы производительности часто упоминаются в качестве основной причины этого предпочтения.

Buffering

увеличивая размер буфера базового потока, может значительно улучшить производительность путем снижения HDD -вызовов и системных вызовов. Это делается с:

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

locale обработка

локали могут ввести накладные расходы на производительность из-за преобразования символов, фильтрации и динамической диспетчеры. Установка локали в локале по умолчанию, который отключает эти операции, может улучшить производительность:

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

synchronization

synchronization с c stdio (std :: ios_base :: sync_with_stdio (false)) не предлагает наблюдаемых преимуществ работы.

g 4.7.2 на Ubuntu 11.10: c 25% быстрее ] g 4.4.5 на Ubuntu Linux 10.10: C 17% быстрее

g на macos x: c 111% медленнее

    clang 3.8.0 на Kubuntu 16.04: c 66. быстрее
  • эти результаты указывают на то, что улучшения производительности iostream варьируются в зависимости от конкретных реализаций реализации. Следовательно, нет универсального решения для оптимизации iostreams на разных платформах.
  • ]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3