У меня проблема с производительностью чтения большого двоичного файла.
Моя стратегия:
- Чтение фрагмента фиксированного размера из большого двоичного файла с помощью fread ().(например, 10 МБ)
Сон в течение n миллисекунд с помощью usleep () только для измерения производительности в режиме ожидания.
Повторяйте его, пока не будет прочитан весь файл.
Затем я провел эксперимент по приведенной выше стратегии для измерения производительности чтения вперед.Среда:
- CentOS 7
- 4 ГБ, двоичный файл
- Размеры блоков составляют 2 ~ 300 МБ на 2 МБ
- Время ожидания, которое я тестировал, составляет 5,10, 50, 100, 300 мс и без сна
Результаты: ![enter image description here](https://i.stack.imgur.com/bmJJR.png)
Как вы можете видеть в результате, когда размер кускамало и время ожидания достаточно для чтения, время чтения короткое.Чем больше размер чанка или чем меньше время сна, тем ближе к 20 секундам читается время.
Затем я хочу провести регрессионный анализ этого графика.Какую функцию я должен использовать?В чем сложность моей стратегии?