BogoMIPS (BogoMIPS)

Перейти к навигации Перейти к поиску

BogoMIPS (от англ. bogus (поддельный) и MIPS — англ. Millions of Instructions Per Second) — в ядре Линукс способ измерения скорости исполнения инструкций на компьютере, предназначенный для калибровки внутренних циклов. Термин изобрёл Линус Торвальдс в 1993. BogoMIPS шутливо определяется как «сколько миллионов раз в секунду компьютер может абсолютно ничего не делать». Несмотря на наличие MIPS в названии величины, она ненаучна и не является метрикой общей производительности.

Причина возникновения такой величины в том, что для работы с некоторыми видами оборудования ядру системы требуются короткие временны́е задержки, которые реализуются в форме пустых циклов. Чтобы узнать, сколько именно раз надо повторять пустой цикл, необходимо выяснить скорость его выполнения на данной машине — именно для этого используется BogoMIPS.

При начальной загрузке ядра выдаётся сообщение примерно такого вида:

Calibrating delay loop… 2994.99 BogoMIPS

Во время работы значение BogoMIPS можно узнать, прочитав файл /proc/cpuinfo

Величина BogoMIPS обычно пропорциональна тактовой частоте процессора, но также зависит от архитектуры и микроархитектуры процессора и работы кэша.

Для многих современных процессоров (x86, SPARC, 68k, Alpha 21264), величина BogoMIPS близка к удвоенной частоте.[1]

Интересные факты

[править | править код]
  • Использование инструкций nop в цикле задержки без калибровки может приводить к странным последствиям, так как некоторые x86 процессоры, выпущенные в 2010-х, способны исполнять до 4 операций в каждый такт[2].

Примечания

[править | править код]
  1. BogoMips mini-Howto, «2.2 How to estimate what the proper BogoMips rating should be»: «… clock * 2.00»
  2. Архивированная копия. Дата обращения: 7 июля 2014. Архивировано из оригинала 30 июля 2014 года.