Задача: нужно оценить среднюю скорость параллельного чтения n числа файлов. Какие есть в Линуксе для этого средства? Нашёл море benchmark'ов, но они все навороченные и не дают то, что мне нужно.
Могу написать такой тест на bash'e, но боюсь накладные расходы на запуск n (мне интересен n до 1024) копий cp будут слишком большие.
На C в multithreading я не силён, может кто накатает программу?
measure_parallel_file_reading
Параметры запуска
arg1 - путь куда пишем файлы (/tmp/test)
arg2 - размер файлов в байтах
arg3 - параллелизм
Программа создаёт все файлы (по очереди), sync, sleep 3 секунды, создаём arg3 потоков, в каждом засекаем время, читаем файл, после завершения последнего thread'a выдаём результат:
min скорость чтения файла, max, average в MB/sec