Whetstone

Материал из Википедии — свободной энциклопедии
Перейти к навигацииПерейти к поиску

Whetstone — синтетическийтест производительности (бенчмарк) для компьютеров.[1] Изначально написан в ноябре 1972 года на языке программированияАлгол 60 вNational Physical Laboratory в Великобритании на базе статистики поведения программ, полученной на компьютереKDF9 с использованием модифицированного компилятора Whetstone Algol 60. Статистика поведения программ отражает типичные научные задачи, решаемые KDF9. Компилятор Whetstone был создан подразделением Atomic Power компанииEnglish Electric вWhetstone, графствоЛестершир,[2] в честь которого получил своё название. Последний компьютер KDF9 был выключен в 1980 году, но возможен запуск оригинального теста на эмуляторе.

Версия бенчмарка, написанная на языке Фортран (FOPR12 и FOPR13), стала первым широко используемым тестом производительности общего назначения. Она была разработана Harold Curnow изHM Treasury Technical Support Unit (TSU — позже стало частью Central Computer and Telecommunications Agency —CCTA). В дальнейшем эта версия развивалась Roy Longbottom, также из TSU/CCTA.

Бенчмарк Whetstone изначально измерял производительность в единицахkilo-Whetstone Instructions Per Second (kWIPS, тысячи Whetstone-инструкций в секунду). Позже стандартной единицей стали MWIPS — миллионы таких инструкций в секунду. Исторические результаты различныхмини-компьютеров,мейнфреймов исуперкомпьютеров опубликованы на сайтеWhetstone Benchmark History and Results. Также указаны год выпуска систем и их стоимость. Для сравнения дано несколько результатов, полученных на персональных компьютерах:Detailed results on PCs.

Существуют версии с исходным кодом для ПК на языкахC/C++,Basic,Visual Basic,Fortran,Java, опубликованные на сайте Roy LongbottomPC Benchmark Collection. Также подготовлены скомпилированные программы дляDOS,OS/2,Windows.

В первую очередь Whetstone измеряет производительность работы арифметики с плавающей запятой. Сходный бенчмарк для целочисленных и строковых операций —Dhrystone.

Содержание

Структура

[править |править код]

Тест является очень простым, состоит всего из 150 операторов с 8 активным циклами, три из которых запускаются внутри подпрограмм. Тестируется выполнение арифметики с плавающей запятой, вызовов функций, присваиваний, работы с числами с фиксированной запятой, ветвлений. Наиболее сложный цикл, который исполняется от 30 до 50% времени, проводит вычисления с плавающей запятой и вызов подпрограммы.

Используется очень небольшое количество данных, которые полностью помещаются в кеш первого уровня (L1) большинства центральных процессоров. Таким образом, скорость кеша второго уровня и памяти не влияют на полученную производительность. Результат теста пропорционален частоте процессора.

Код разрабатывался так, чтобы его не могли оптимизировать компиляторы. Однако не учитывалось, что компиляторы могут встраивать функции в точку вызова (оптимизация inline). С использованием современных компиляторов скорость исполнения теста увеличивается приблизительно в два раза за счет inline, подбора инструкций и удаления промежуточных пересылок через память.

См. также

[править |править код]

Примечания

[править |править код]
  1. Curnow, H. J. and Wichman, B. A. «A Synthetic BenchmarkАрхивировано 3 марта 2013 года.»,Computer Journal, Volume 19, Issue 1, February 1976., p. 43—49.
  2. Randell, B. and Russell, L. J. «Algol 60 ImplementationАрхивная копия от 1 октября 2011 наWayback Machine», London: Academic Press, 1964.ISBN 0-12-578150-4.

Ссылки

[править |править код]
Источник —https://ru.wikipedia.org/w/index.php?title=Whetstone&oldid=122745859
Категории:
Скрытая категория: