Цифровое видео


Комментарий 3 - часть 2


памяти группы байт прямо в кэш первого уровня, поскольку перебор

последовательный, то все работает очень быстро. Я тогда специально

исследовал (3-6 лет назад) влияние кэша и его размера на скорость

счета.

Размер кэша в 386 машине ничего не значил, 64 и 128 к варианты работали

просто одинаково. Выключение кэша все тормозило вдвое, но это и понятно

для 386 DX40.

Размер кэша второго уровня у 486 машин тоже не имел значения. Его

отключение, или использование безкэшевого варианта (ноутбук 486 DX 2 50)

замедляло расчеты на 5-7 %. Отключение кэша первого уровня все сильно

тормозило. Здесь наличие кэша второго уровня сказывалось заметно, потому

что код цикла мог не вполне помещаться в кэш первого уровня из-за его

малой величины.

Лирическое отступление. Забавно, но из моих тогдашних опытов проистекло

следующее наблюдение: если и код и данные программки помещались в кэш

первого уровня, то на ноутбуке происходило следующее. В чистом ДОСЕ, в

обычном real паскале, цикл типа a:=b*c исполнялся быстро только первую

минуту. Затем все тормозилось втрое. Я не мог понять, почему не могу

измерить время исполнения одной команды умножения, написав цикл из

миллиона умножений и повесив сверху измеряющий время пять раз подряд

цикл. После первого прохода все жутко замедлялось. В защищенном режиме,

или в окне ДОС под Win3.1 все работало без тормозов. Если вместо

перемножения одной пары чисел я брал массив >8К (если 4к, то я не

виноват, половина полного размера кэша была) и перебирал его, то эффект

замедления пропадал. Граница сидела около размера кэша данных первого

уровня. Так вот, оказалось, что если весь исполняемый код и данные

находятся внутри кэша первого уровня, то система энергосбережения

ноутбука считала,что он просто ничего полезного не делает и снижала

частоту втрое.

Разницы во времени прохода цикла с большим массивом и с маленьким,

умещавшимся в кэш, в одинаковых protected code условиях я вообще не

заметил. Таким образом, производительность не зависела от того,




Начало  Назад  Вперед



Книжный магазин