ну, раз никто не ответил, чуток лекции от меня
во-первых как сказал ув.
Василий Банников -тестировать надо только IO диска
вот это вот детский сад, так нельзя
Сначала я прогнал тест на Windows... я и не стал проверять на Windows неделю назад (работал в Docker).
условия должны быть неизменны
во-вторых, как говорю я - надо изучить что уже известно по этому вопросу:
- вот тут товарищи тоже задаются года с 2018
- а вот и кое-какой продукт
да, это про IO а не файлы, но - с твоей задачей где-то рядом, если вообще не то что надо , но там много вопросов - ответов, которые расширят твое понимание - например, разное поведение в разных ОС
в третьих, есть такая штука как кеш диска (а еще есть кеш у харварного рейда, но не всегда), да так что в этой вашей команде DD
dd if=/tmp/test.img of=/dev/null bs=1M count=1024
есть спец опция для отклбчения кеша, иначе получается космик цифры
в четвертых - есть проблема храннеия мелких файлов и вообще файловой системы, тут приведу только два-три слова:
самопис ( там почитаешь про суть проблемы),
пром1 пром2
в общем, задачка сильно посложнее чем просто погонять байты
и, это конечно не мое дело - но "а зачем"? что ты будешь делать с полученной инфой?
если все же "а зачем" осталось актуальным - я бы делал так:
1) прогнал прогу для дисков из пример выше
2) посмотрел бы вдумчиво
это видео (увы, не про Rust, но докладчик знает толк в извращениях (с)), в том числе и ввиду твоих проблем с генерацией в памяти
воообще - сам подход правильный, надо знать максимумы что может язык, если хочешь называться профессионалом, но само решение... поверь - куда проще отталкиваться от уже написанного кем-то рабочего кода