Тест продуктивності — Вікіпедія

Запущена графічна демонстрація, як тест продуктивності ігрового рушія OGRE.

Тест продуктивності, або бенчмарк (англ. benchmark) — контрольне завдання, необхідне для визначення порівняльних характеристик продуктивності комп'ютерної системи. Існують програми для тесту продуктивності системи, що тестують час автономної роботи ноутбуків і КПК, радіус дії бездротової мережі, пропускну здатність каналів передачі даних, АЧХ звукового тракту та інші доступні для вимірювання характеристики, що не пов'язані напряму з продуктивністю.

Тести продуктивності використовуються для порівняння продуктивності комп'ютерів і часто є критерієм для вибору компонента того чи іншого виробника. Крім того, успішне проходження ряду тестів є свідченням стабільності системи в штатному і у форсованому режимах.

Призначення[ред. | ред. код]

По мірі розвитку комп’ютерної архітектури стало важче порівнювати продуктивність різних комп’ютерних систем, якщо просто дивитись на їхні характеристики. Тому були розроблені тести, які дозволяли порівнювати різні архітектури. Наприклад, процесори Pentium 4 зазвичай працювали на вищій тактовій частоті, ніж процесори Athlon XP або PowerPC, але це не обов’язково призводило до збільшення обчислювальної потужності; процесор із нижчою тактовою частотою міг працювати так само ефективно чи навіть краще, ніж процесор, що працює на вищій частоті. Детальніше дивіться BogoMips і міф про мегагерци[en].

Тести продуктивності призначені для імітації певного типу робочого навантаження на компонент або всю систему. Синтетичні тести виконують це за допомогою спеціально створених програм, які накладають робоче навантаження на компонент. Програми тесту продуктивності запускають реальні програми у системі. У той час як програми тестів продуктивності зазвичай дають набагато кращу оцінку реальної продуктивності певної системи, синтетичні тести корисні для тестування окремих компонентів, таких як жорсткий диск або мережевий пристрій.

Тести продуктивності особливо важливі при проектуванні процесорів, так як їх використання надає дизайнерам (архітекторам) процесорів можливість вимірювати продуктивність тестових зразків та приймати компроміси при затвердженні мікроархітектурних рішеннях. Наприклад, якщо тест виокремлює ключовий алгоритм, який впливає на продуктивність, запуск меншого фрагмента цих тестів на симуляторі з точністю до циклу може надати підказки щодо покращення продуктивності.

Відомо, що виробники комп’ютерів налаштовують свої системи так, щоб забезпечити нереалістично високу продуктивність у еталонних тестах, які не відтворюються під час реального використання. Наприклад, протягом 1980-х років деякі компілятори могли виявити певні математичні операції з числами з рухомою комою, які використовувалися у відомих тестах продуктивності, і замінити операцію швидшою математично еквівалентною операцією. Однак така трансформація рідко була корисною за межами тестів продуктивності до середини 1990-х років, коли архітектури RISC і VLIW підкреслили важливість технології компілятора по відношенню до продуктивності. Тепер виробники компіляторів регулярно використовують тести продуктивності для покращення не лише власної позиції у результатах тестування, а й реальної швидкодії програми.

Функціональність[ред. | ред. код]

Функції програмного забезпечення для тесту продуктивності можуть включати запис/експорт результатів до файлу електронної таблиці, візуалізацію даних, наприклад малювання лінійних графіків або кольорових схем[en], і призупинення процесу, щоб мати можливість продовжити без необхідності починати вимірювання спочатку. Програмне забезпечення може мати додаткові функції, специфічні для цільового застосування, наприклад, програми для тестування дисків можуть за потреби починати вимірювання швидкості не всього диска, а тільки певного заданого діапазону поверхні, вимірювати швидкість читання з довільним доступом і затримку, проводити «швидке сканування», яка вимірює швидкість за зразками заданих інтервалів і розмірів і дозволяє вказати розмір блоку даних, тобто кількість запитуваних байтів на запит читання.[1]

Принципи тестування продуктивності[ред. | ред. код]

Є сім важливих характеристик для вимірювання продуктивності.[2] Нижче вказані ключові із них:

  1. Актуальність: тести продуктивності повинні вимірювати відносно важливі характеристики.
  2. Репрезентативність. Контрольні показники продуктивності повинні бути зрозумілими широко використовуватися у промисловості та наукових колах.
  3. Безпристрасність: усі системи слід порівнювати однаково.
  4. Повторюваність: результати тестування можна перевірити.
  5. Економічна ефективність: еталонні тести є економічними.
  6. Масштабованість: тести продуктивності повинні працювати на системах, які мають діапазон ресурсів від низького до високого.
  7. Прозорість: контрольні показники мають бути легкими для розуміння.

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. Software: HDDScan, GNOME Disks
  2. Dai, Wei; Berleant, Daniel (December 12–14, 2019). 2019 IEEE First International Conference on Cognitive Machine Intelligence (CogMI) (PDF). Los Angeles, CA, USA: IEEE. с. 148—155. arXiv:1907.03626. doi:10.1109/CogMI48466.2019.00029.

Джерела[ред. | ред. код]