Dhrystone

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая A5b (обсуждение | вклад) в 05:32, 20 декабря 2012 (http://en.wikipedia.org/wiki/Dhrystone (cc-by-sa 3); original authors: http://en.wikipedia.org/ruwiki/w/index.php?title=Dhrystone&o&limit=500&action=history). Она может серьёзно отличаться от текущей версии.
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Dhrystone — синтетический тест производительности компьютеров, разработанный в 1984 году Reinhold P. Weicker. Нацелен на тестирование системной (целочисленной) производительности процессоров общего назначения. Сходный тест — Whetstone.

Для Dhrystone, его автор Weicker собрал статистику исполнения большого количества программ, написанных на языках FORTRAN, PL/1, SAL, ALGOL 68, Pascal. Статистика разделена между различными конструкциями, такими как вызовы процедур, обращение по указателю, присваивание и т. д. На базе этих данных был создан тест Dhrystone, имеющий аналогичные соотношения между разными операциями. Он написан на языка Ada; позже Rick Richardson разработал версию 1.1 на языке Си (для ОС семейства Unix).

Dhrystone и Whetstone

Тест Dhrystone не содержит операций над числами с плавающей запятой, и его название образовано от теста Whetstone с помощью игры слов.

Результатом теста является Dhrystones per second (количество итераций основного цикла в секунду).

Тесты Whetstone и Dhrystone являются синтетическими, то есть простыми программами, выдерживающие определенные соотношения между различными типами инструкций. Данные соотношения сходны с статистическими характеристиками некоторых наборов программ. Whetstone, разработанный в 1972 использовал в качестве набора типичные задачи на Algol 60 (по состоянию на 1970 год). Более популярная fortran версия whetstone отражает вычислительную ориентацию программ 1960-ых годов.

Цели Dhrystone

Dhrystone используется уже более 20 лет с момента написания.

Dhrystone и CoreMark

CoreMark — небольшой тест производительности от некоммерческого Embedded Microprocessor Benchmark Consortium (EEMBC). Может запускаться на большом количестве процессорных ядер (например, на микроконтроллерах), в чем сходен с Dhrystone. Оба теста бесплатны. CoreMark избегает проблем с оптимизациями, используя реальные алгоритмы вместо синтетического набора инструкций. Кроме того, результаты работы тестов сверяются с эталонными. Существует набор правил по запуску теста и публикации его результатов.

Результаты

Dhrystone выдает результат в форме: Количество итераций в секунду. Часто этот результат приводят к DMIPS (от Dhrystone MIPS) путем деления на 1757 (результат Dhrystone/s для компьютера VAX 11/780, то есть номинальной машине с 1 DMIPS).

DMIPS можно делить на частоту процессора, чтобы получить DMIPS/MHz. Такие единицы позволяют сравнивать процессоры с разной тактовой частотой.

Ограничения

Dhrystone содержит необычный код, который не встречается в обычных программах. Кроме того, результат Dhrystone может быть искажен оптимизациями компилятора. Например, в тесте производится множество копирований строк для измерения производительности строковых функций. Однако, строки в Dhrystone имеют заранее известную постоянную длину, а их начала выровнены по натуральным границам. В обычных программах эти два свойства часто не выполняются. Благодаря известной длине и смещению, оптимизатор может заменить строковое копирование на последовательность копирований слов (без цикла), завысив производительность (иногда на десятки процентов).

Код Dhrystone достаточно небольшой, чтобы полностью помещаться в кэш инструкций современного процессора, поэтому производительность instruction fetch тестируется слабо.[1]

См. также

Примечания

Литература

  • Weicker, Reinhold (October 1984). "Dhrystone: A Synthetic Systems Programming Benchmark". Communications of the ACM. 27 (10): 1013—30. doi:10.1145/358274.358283.

Ссылки