LINUX.ORG.RU

История изменений

Исправление kirill_rrr, (текущая версия) :

Но два независимых диска дадут х2 ускорение

Каким образом? Поток сначала запросит файлик с одного диска, подождёт, запросит файлик с другого. Тот же самый чистый и незамутнённый 1х против ~1,5х.

А если там полный трешак по 100 потоков на диск, так тут вообще без разницы как их рассаживать. Важнее будет твикинг шедулера потому что любые очереди полопаются нахрен.

когда ты зачем-то читаешь последовательно один единственный файл

Почему один единственный? Почему именно читаешь? Если средняя операция над одним файлом не менее 2 блоков мозайки (например целых нереальные 32Кб), тогда ускоряется что угодно и в любых сценариях. А если меньше 1 блока, тогда это будет работать ровно так же, как ты предлагал. Проблема только если размер между 1 и 2 блоков, но каковы шансы?

Хотя опять же, какая проблема? Если диски свободны, тогда время будет примерно то же, просто оба дёграть вместо одного. А если там трешак в 100 потоков на диск, тогда опять же без разницы - что 1 диск, что 2 диска, между чтением 1 и 2-ого блоков один хрен кто нибудь напихает десяток операций и без разницы тот же это диск или другой.

Исходная версия kirill_rrr, :

Но два независимых диска дадут х2 ускорение

Каким образом? Поток сначала запросит файлик с одного диска, подождёт, запросит файлик с другого. Тот же самый чистый и незамутнённый 1х против ~1,5х.

А если там полный трешак по 100 потоков на диск, так тут вообще без разницы как их рассаживать. Важнее будет твикинг шедулера потому что любые очереди полопаются нахрен.

когда ты зачем-то читаешь последовательно один единственный файл

Почему один единственный? Почему именно читаешь? Если средняя операция над одним файлом не менее 2 блоков мозайки (например целых нереальные 32Кб), тогда ускоряется что угодно и в любых сценариях. А если меньше 1 блока, тогда это будет работать ровно так же, как ты предлагал. Проблема только если размер между 1 и 2 блоков, но каковы шансы?