Привет, повелитель терминала! 🧙♂️
Запустил простой код:
bash -c 'x=0; time while ((x < 999999)); do ((++x)); done'
А время выполнения прыгает от 0.9 до 2.2 секунд? Почему?
Ответ: CPU Frequency Scaling.
Процессор снижает частоту при простое и повышает под нагрузкой.
Из-за этого первое выполнение скрипта медленнее последующих.
Решение:
1. Зафиксировать максимальную частоту ядра:
sudo cpupower -c 0 frequency-set -g performance
2. Закрепить выполнение скрипта за одним ядром:
taskset -c 0 ./your-benchmark
3. После теста вернуть режим энергосбережения:
sudo cpupower -c 0 frequency-set -g powersave
Бонус: Делай "разогревочный" прогон перед реальными замерами и старайся минимизировать фоновую нагрузку.
🌐 Источник: https://unix.stackexchange.com/questions/777424/why-are-my-benchmark-times-not-repeatable-even-for-a-cpu-bound-task
📩 Завтра: Как узнать ВСЁ о железе и системе в Linux за 5 минут
Включи 🔔 чтобы не пропустить!
____________________
Дополнительный материал:
🧠 - Мастер-класс по iptables: вставляем, заменяем и удаляем правила
🧠 - Настраиваем iptables с нуля: Полный гайд по фильтрации пакетов
🧠 - Раскрой тайны владения файлами с namei -o!
#stackoverflow @LinuxSkill #linux #bash #benchmark #performance