Что происходит при первом вводе команды, так это то, что все файлы должны быть прочитаны с диска в вашу память.Следовательно, вы видите, что затраченное время пользовательского режима приблизительно равно всем другим прогонам, потому что здесь ваши суммы MD5 рассчитываются, а время системного режима немного больше, чем в других прогонах, потому что здесь ваш доступ к диску обрабатывается.Тем не менее, благодаря DMA ваша система тратит большую часть времени, необходимого для чтения материала с диска и выполнения других полезных задач.Таким образом, реальное время намного выше, чем пользовательское и системное время при первом запуске.
Как уже указывалось в различных комментариях, последующие запуски могут выполняться гораздо быстрее, поскольку большая часть необходимых данных ужев оперативной памяти, поэтому вы проводите меньше времени в системном режиме, отправляя вызовы на ваш диск, а также вынуждены ждать намного короче, потому что ваш диск больше не вызывается.Тем не менее, вычисление хэш-суммы занимает то же время, что и обычно, поскольку на него не влияют другие факторы, и поэтому вы видите довольно похожее значение времени пользовательского режима.Таким образом, в целом значение реального времени приближается к сумме значений времени пользователя и системы.
Теперь, к колебаниям в ваших последующих вызовах: распараллеливание - ложь, по крайней мере, в большинстве случаев.Ваш компьютер делает гораздо больше, казалось бы, «параллельно», чем он мог бы по-настоящему параллельно, используя несколько доступных физических ядер.Вместо этого он очень быстро переключается между всеми задачами, которые ему приходится выполнять, и всегда выполняет лишь небольшую часть работы, поэтому у пользователя создается впечатление, что все работает параллельно.Тем не менее, между и во время последующих вызовов вашего скрипта ваш компьютер мог делать разные вещи, которые также используют ресурсы вашей системы.Это может привести к тому, что части ваших кэшированных данных будут выгружены, поэтому их придется снова загружать с диска для следующего вызова, но только частично.Это мультиплексирование всех выполняемых заданий - это то, что вызывает те колебания в секунду, которые трудно объяснить.Это просто все помехи со всем остальным, работающим «параллельно».
Но в целом, не беспокойтесь: при первом запуске команды вашей машине действительно нужна эта минута.Просто ваш диск слишком медленный, или его использование мультиплексируется с потребностями других процессов, или объем данных, которые нужно прочитать, действительно велик, или, скорее всего, смесь всего!