История изменений
Исправление
Psych218,
(текущая версия)
:
Кеш должен быть либо прогрет сразу либо очищен перед каждым тестом, я это добросовестно делал, а ты нет.
Я очищал кэш перед каждым тестом так:
sudo sync; echo 3 | sudo tee /proc/sys/vm/drop_caches
Это мне казалось само собой разумеющимся, если тестим что-то с файлами, тем более немалым их количеством, поэтому не указал отдельно.
2 секунды — это ничто, да. Это действительно может быть и погрешностью измерений (хотя ещё раз запустил, результут тот же). Но вариант с внешней утилитой в любом случае точно не быстрее. Не намного медленнее — да, можно даже сказать, что в пределах погрешности. Но не быстрее. Ты же перед этим по сути замерил разницу в вызове md5sum и запуске питоновского интерпретатора. То, что он стартует медленно, ни для кого не секрет. На одном файлике мало смысла тестить.
P. S. Быстрее всего будет это делать, конечно, в столько потоков, сколько ядер у процессора. В обоих случаях, что с внешней утилитой, что с родным hashlib.md5() это даст прирост производительности почти во столько же раз, сколько ядер и есть.
Исправление
Psych218,
:
Кеш должен быть либо прогрет сразу либо очищен перед каждым тестом, я это добросовестно делал, а ты нет.
Я очищал кэш перед каждым тестом так:
sudo sync; echo 3 | sudo tee /proc/sys/vm/drop_caches
Это мне казалось само собой разумеющимся, если тестим что-то с файлами, тем более немалым их количеством, поэтому не указал отдельно.
2 секунды — это ничто, да. Это действительно может быть и погрешностью измерений (хотя ещё раз запустил, результут тот же). Но вариант с внешней утилитой в любом случае точно не быстрее. Не намного медленнее — да, можно даже сказать, что в пределах погрешности. Но не быстрее. Ты же перед этим по сути замерил разницу в вызове md5sum и запуске питоновского интерпретатора. То, что он стартует медленно, ни для кого не секрет. На одном файлике мало смысла тестить.
Исходная версия
Psych218,
:
Кеш должен быть либо прогрет сразу либо очищен перед каждым тестом, я это добросовестно делал, а ты нет.
Я очищал кэш перед каждым тестом так:
sudo sync; echo 3 | sudo tee /proc/sys/vm/drop_caches
Это мне казалось само собой разумеющимся, если тестим что-то с файлами, тем более немалым их количеством, поэтому не указал отдельно.
2 секунды — это ничто, да. Это действительно может быть и погрешностью измерений (хотя ещё раз запустил, результут тот же). Но вариант с внешней утилитой в любом случае точно не быстрее. Не намного медленнее — да, можно даже сказать, что в пределах погрешности. Но не быстрее. Ты же перед этим по сути замерил разницу в вызове md5sum и запуске питоновского интерпретатора. То, что он стартует медленно, ни для кого не секрет. На одном файлике мало смысла тестить.