Каковы лучшие практики для чтения и записи большого количества данных на HD?

Я разрабатываю приложение C ++ (работающее в системе Linux), которое очень интенсивно читает файлы журналов и записывает производные результаты на диск. Я хотел бы знать, как лучше всего оптимизировать такие приложения:

  • Какие настройки ОС повышают производительность?
  • Какие шаблоны программирования повышают пропускную способность ввода-вывода?
  • Является ли предварительная обработка данных (преобразование в двоичные, сжатие данных и т. Д.) Полезной мерой?
  • Является ли разбиение на части / Buffering data помогает в производительности?
  • О каких аппаратных возможностях мне следует знать?
  • Какие методы лучше всего подходят для профилирования и измерения производительности в этих приложениях?
  • (выразите здесь озабоченность, которую мне не хватает)

Есть ли хорошее чтение, где я мог бы получить основы этого, чтобы я мог адаптировать существующее ноу-хау к моей проблеме?

Спасибо

8
задан tonicebrian 25 January 2011 в 14:54
поделиться