Вступить в клуб →
лёгкаявопросПроизводительность и низкие задержки

Выгрузка 5 миллионов строк в CSV занимает минуты

std::ofstream out("export.csv");
for (const auto& r : rows) {   // 5 млн строк
    out << r.id << ',' << r.name << ',' << r.amount << std::endl;
}

strace -c показывает около 5 миллионов системных вызовов write. Что изменить в первую очередь?

  • Заменить std::endl на '\n'
  • Открыть файл в бинарном режиме
  • Вызывать out.flush() после каждой строки
  • Отключить sync_with_stdio для файла

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела