- Мы пытаемся передавать потоковое видео с RAID-массива.
- С нашим RAID-массивом быстрее зацикливаться и читать 8k за раз, чем за 8M за раз.
Я пытаюсь изменить чужую многопоточную программу на C в Linux openSuse 11.4 из (псевдо-кода)
read(fd, buf, 8M)
в
for(i = 0; i < 1000; ++i)
read(fd, buf, 8K);
Но зацикленная версия читает намного медленнее.
Я подозреваю, что поток чтения заменяется при каждом вызове read()
.Я не могу быть первым, кто столкнулся с этой проблемой, но я не нашел ни одного примера кода для этого.Каков наилучший способ предотвратить замену потока чтения?Изменить планировщик / приоритет?Изменить поток параллелизма?