Windows 7 проти Windows 8

  1. Продуктивність операційної системи
  2. Методика тестування
  3. результати тестування

Сергій Пахомов

Продуктивність операційної системи

Методика тестування

Результати тестування

З'ясовувати, яка операційна система краща - Windows 7 або Windows 8, - абсолютно безглузде заняття. Мова і не йде про проблему вибору операційної системи. У Windows-користувачів взагалі ніколи не було альтернативи, і після виходу Windows 8 все на неї рано чи пізно перейдуть.
Тим не менш цікаво було б порівняти Windows 7 і Windows 8 по продуктивності. Пояснимо, що мається на увазі.

Продуктивність операційної системи

Припустимо, що на одному і тому ж комп'ютері один раз встановлюється операційна система Windows 7, а інший - Windows 8 і запускається одна і та ж завдання. Наприклад, це може бути скрипт по обробці цифрової фотографії, конвертація відеофайлу або щось подібне. Якщо це завдання швидше виконується на комп'ютері з операційною системою Windows 7, то можна зробити висновок, що в даному випадку Windows 7 більш продуктивна, ніж Windows 8. Таким чином, при незмінній конфігурації комп'ютера і набору використовуваних додатків з продуктивністю ОС можна однозначно пов'язати час виконання певного завдання.

Проблема в тому, що при такому підході до поняття продуктивності ОС можна говорити лише про продуктивність для даної конфігурації комп'ютера і для конкретного завдання. І з того факту, що для якої-небудь конфігурації ПК одна операційна система виявляється більш продуктивною, ніж інша, ще не можна зробити однозначний висновок, що і для іншої конфігурації ПК будуть отримані аналогічні результати. Те ж саме стосується і висновків щодо порівняння продуктивності ОС при використанні різних задач. Тобто той факт, що для вирішення якої-небудь задачі одна операційна система виявляється більш продуктивною, ніж інша, ще не дозволяє зробити висновок, що при вирішенні іншого завдання будуть отримані аналогічні результати.

Ще одна проблема, пов'язана з визначенням продуктивності ОС, полягає в тому, що іноді для різних операційних систем використовуються різні версії додатків. Тому порівняти продуктивність будь-якої операційної системи, наприклад Windows з аналогічною Mac OS, неможливо. Незрозуміло, що в даному випадку порівнюється - швидкодія операційних систем або додатків для них. Благо, при зіставленні операційних систем одного сімейства (наприклад, Windows 7 і Windows 8) така проблема не виникає, оскільки, як правило, всі програми, що підтримують Windows7, працюють і з Windows 8.

Різні версії драйверів пристроїв для різних операційних систем - це теж впливає на визначення продуктивності ОС. Втім, у разі операційних систем Windows 7 і Windows 8 така проблема не стоїть, оскільки драйвери в цих системах для більшості пристроїв однакові. І найголовніше - для них використовується один і той же відеодрайвера.

Отже, після того, як ми визначили, що розуміти під продуктивністю ОС і які проблеми з цим пов'язані, можна спробувати сформулювати основні вимоги, яких необхідно дотримуватися при порівнянні продуктивності ОС.

Для коректного порівняння продуктивності ОС потрібно використовувати комп'ютер з незмінною апаратною конфігурацією. Крім того, для отримання більш об'єктивної картини бажано провести порівняння в різних варіантах конфігурації ПК. Наприклад, спочатку проводити порівняння, використовуючи кращу конфігурацію комп'ютера, а потім - комп'ютер початкового рівня.

Особливу увагу слід приділити підбору бенчмарков (тестів) для тестування. Поперше, вони повинні бути повністю сумісні з обома операційними системами. Подруге, для порівняння продуктивності ОС необхідно відібрати бенчмарки, які дозволили б оцінити її в цілому, а не окремих частин. Тому слід відмовитися від синтетичних тестів, які мінімізують вплив операційної системи на результати тестування і оцінюють продуктивність окремих підсистем комп'ютера, таких як процесор, пам'ять і жорсткий диск. Крім того, бажано, щоб використовувані бенчмарки грунтувалися на реальних додатках і дозволяли оцінювати продуктивність по різних категоріях додатків. Наприклад, в ідеальному варіанті бенчмарк повинен оцінювати продуктивність системи при роботі з офісними додатками, з 3D-додатками, з додатками по створенню контенту і т.д. В даному випадку результати порівняння продуктивності ОС можна не прив'язувати до певної програми, а поширити на категорії додатків або завдань.

По-третє, бенчмарки повинні демонструвати стабільні результати, які мають хорошу повторюваність.

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

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

Під динамічною самонастроюванням операційної системи Windows розуміється реалізація таких функцій, як оптимізація розміщення файлів на жорсткому диску (Disk Efficiency Optimizations), оптимізація завантаження операційної системи (Boot Prefetching) і оптимізація завантаження програм (Application-Launch Prefetching).

Під оптимізацією розміщення файлів на жорсткому диску розуміють наступне. Фізичне розміщення файлів на жорсткому диску може надати відчутний вплив на продуктивність системи. Операційна система Windows постійно спостерігає за сценарієм доступу до файлів на жорсткому диску і раз на три дні в фоновому режимі проводить оптимізацію розміщення файлів, щоб прискорити доступ до них. Інформація про найбільш часто використовуваних файлах зберігається в директорії операційної системи в папці Prefetch (% windir% \ Prefetch), а переглянути, які файли підлягають оптимізації розміщення на жорсткому диску, можна в файлі% windir% \ Prefetch \ Layout.ini, відкривши його в текстовому редакторі.

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

Оптимізація розміщення файлів на жорсткому диску стає особливо актуальною при застосуванні великих за обсягом жорстких дисків.

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

Говорячи про оптимізацію розміщення файлів на жорсткому диску слід мати на увазі, що дана процедура актуальна тільки для HDD. Якщо в системі використовується SSD-накопичувач, то оптимізація стає просто безглуздою, а процедура дефрагментації - не тільки безглуздою, а й шкідливою.

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

Оптимізація завантаження програм (Application-Launch Prefetching) мало чим відрізняється від процедури оптимізації завантаження операційної системи. Сенс її полягає в тому, що операційна система відстежує всі дані, використовувані запускаються додатками, і оптимізує їх розміщення на жорсткому диску, а також реалізує передвибірки цих даних для упреждающей завантаження в оперативну пам'ять. Відзначимо, що при першому запуску програми предвибірки даних не здійснюється. Саме тому якщо мова йде про тестовому додатку (бенчмарке), то перший запуск тесту може демонструвати більш низькі результати, ніж всі наступні.

Крім розглянутих технологій динамічної самонастроювання операційної системи Windows, застосовуються і такі засоби підвищення продуктивності, як SuperFetch, ReadyBoost, ReadyBoot і ReadyDrive. Крім цього є також функція індексування файлів для забезпечення швидкого пошуку потрібної інформації.

Технологія SuperFetch є в якомусь сенсі розвитком технологій Boot Prefetching і Application-Launch Prefetching. В технології SuperFetch використовується оптимізація розміщення файлів на жорсткому диску укупі з функцією читання, цих файлів на основі відслідковується статистики доступу до даних. При цьому враховується історія звернень до пам'яті за тривалий період.

Функція SuperFetch виконується в якості служби Windows всередині процесу Service Host (% SystemRoot% \ System32 \ Svchost.exe). Вона відстежує історію звернень до сторінок пам'яті і віддає диспетчеру пам'яті вказівки за попередньою завантаженні даних або коду з файлів на диску або з файлу підкачки в список очікування, а також вказівки щодо присвоєння пріоритету сторінок пам'яті. Служба SuperFetch істотно розширює відстеження сторінок пам'яті, враховуючи сторінки, які були раніше завантажені в пам'ять, але згодом звільнені диспетчером пам'яті для інших даних і коду. Ця інформація зберігається в папці% SystemRoot% \ Prefetch у вигляді файлів сценаріїв з розширенням * .db разом зі стандартними файлами попереджувального читання, застосовуваними для оптимізації запуску додатків. Маючи в своєму розпорядженні докладною інформацією про використання пам'яті, служба SuperFetch може здійснювати попередню завантаження даних і коду при звільненні фізичної пам'яті.

Коли звільняється пам'ять (наприклад, по завершенні роботи програми або коли додаток звільняє виділену пам'ять), служба SuperFetch дає диспетчеру пам'яті інструкцію завантажити недавно вивантажені дані і код. Ця процедура здійснюється зі швидкістю кілька сторінок в секунду з пріоритетом вводавивода Very Low (дуже низький), тому попередня завантаження не заважає роботі користувача і інших активних додатків.

Технологія ReаdyBoot призначена для прискорення завантаження операційної системи і використовується тільки в тому випадку, якщо в комп'ютері розмір оперативної пам'яті перевищує 700 Мбайт.

В технології ReаdyBoot для оптимізації процесу завантаження операційної системи застосовується спеціальний кеш в оперативній пам'яті, розмір якого залежить від загального обсягу доступної оперативної пам'яті.

Після кожного завантаження операційної системи в моменти простою (Idle) спеціальна служба аналізує інформацію про звернення до файлів за п'ять попередніх завантажень і визначає, до яких файлів проводилися звернення і де вони розташовані на диску. На основі цього аналізу служба планує кешування для наступного завантаження системи. Оброблена інформація про звернення зберігається в папці% SystemRoot% \ Prefetch \ ReadyBoot, а план кешування - в розділі реєстру HKLM \ System \ CurrentControlSet \ Services \ Ecache \ Parameters.

Служба індексування файлів (Indexing and Search Service) забезпечує швидкий пошук різних документів, фотографій, поштових повідомлень і інших даних. Вона запущена за замовчуванням і відстежує зміну вмісту файлової системи NTFS. За замовчуванням індексування підлягає лише частина призначених для користувача даних, причому служба індексування запускається з низьким пріоритетом щоразу, коли змінюється вміст файлової системи.

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

Існує два можливих сценарії тестування. Перший з них полягає в тому, щоб шляхом настройки операційних систем взагалі заборонити всі функції динамічної самонастроювання. Зробити це дійсно можливо. Наприклад, можна заборонити оптимізацію розміщення файлів на диску шляхом внесення відповідних налаштувань в реєстр. Для цього потрібно в розділі реєстру HKLM \ SOFTWARE \ Microsoft \ Dfrg \ BootOptimizeFunction привласнити ключу Enable значення N (за замовчуванням значення параметра дорівнює Y). Для того щоб заборонити функції передвибірки даних, необхідно внести зміни в розділ реєстру HKLM \ SYSTEM \ CurrentControlSet \ Control \ SessionManager \ MemoryManagement \ PrefetchParameters, присвоївши ключу EnablePrefetcher значення 0. За замовчуванням значення даного ключа дорівнює 3, що означає дозвіл передвибірки даних як для операційної системи, так і для додатків. Значення ключа 1 відповідає дозволу передвибірки даних для додатків, значення ключа 2 - передвибірки даних для операційної системи. Більш того, можна зупинити і заблокувати службу SuperFetch.

Крім того, після внесення всіх необхідних змін слід очистити вміст папок% SystemRoot% \ Prefetch і% SystemRoot% \ Prefetch \ ReadyBoot.

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

В даному випадку методику проведення тестування можна розбити на три етапи: підготовка, навчання системи і отримання результатів тестування.

Етап підготовки полягає в установці операційної системи, всіх драйверів і оновлень, а також необхідних бенчмарків і додатків.

На етапі навчання системи проводиться збір і аналіз необхідних для самонастроювання операційної системи даних. Для цього проводиться очищення папок% SystemRoot% \ Prefetch і% SystemRoot% \ Prefetch \ ReadyBoot, після чого здійснюється триразова перезавантаження операційної системи і запускається пробний прогін бенчмарка. Потім примусово завершуються всі фонові процеси за допомогою команди Rundll32.exe advapi32.dll, ProcessIdleTasks. По завершенні виконання цієї команди буде проведена оптимізація розміщення файлів на жорсткому диску на основі накопиченої інформації. На останньому етапі, в разі HDD-диска, необхідно провести його дефрагментацію.

Важливо відзначити, що якщо при тестуванні застосовується не один, а кілька бенчмарків, то використання кожного нового бенчмарка необхідно починати з етапу навчання, тобто з очищення папок% SystemRoot% \ Prefetch і% SystemRoot% \ Prefetch \ ReadyBoot.

Методика тестування

Отже, після визначення вимог, що пред'являються до бенчмарк, і викладу загальних принципів проведення тестування можна перейти до розгляду методики порівняння продуктивності операційних систем Windows 7 і Windows 8.

Оскільки ера 32-бітових операційних систем вже закінчилася, ми їх навіть не розглядали і порівнювали між собою тільки Windows 7 Ultimate (64-bit) і Windows 8 Enterprise (64-bit).

Тестування ми виробляли на комп'ютері наступної конфігурації:

  • процесор - Intel Core i7-3770K;
  • материнська плата - Gigabyte GA-Z77X-UD5H;
  • чіпсет системної плати - Intel Z77 Express;
  • пам'ять - DDR3-1600;
  • обсяг пам'яті - 8 Гбайт (два модуля GEIL по 4 Гбайт);
  • режим роботи пам'яті - двоканальний режим;
  • відеокарта - NVIDIA GeForce GTX 660Ti (відеодрайвер 314.07);
  • накопичувач - PNY PREVAIL ELITE SSD (240 Гбайт).

Для тестування ми використовували утиліту ComputerPress Benchmark Script v.12.0, розроблену в нашій лабораторії. Детальний опис цієї утиліти можна знайти в березневому номері нашого журналу.

Нагадаємо, що в нашому тестовому пакеті використовуються наступні програми:

  • Xilisoft Video Converter Ultimate 7.7.2;
  • Wondershare Video Converter Ultimate 6.0.3.2;
  • Movavi Video Converter 10.2.1;
  • Adobe Premier Pro CS 6.0;
  • Photodex ProShow Gold 5.0.3276;
  • Adobe Photoshop CS 6.0;
  • Adobe Audition CS 6.0;
  • ABBYY FineReader 11;
  • WinRAR 4.20;
  • WinZip 17.0.

Всі тести розбиті на шість логічних груп:

  • відеоконвертірованіе;
  • аудіообработка;
  • створення відеоконтенту;
  • обробка цифрових фотографій;
  • розпізнавання тексту;
  • архівування та розархівування даних.

Для кожної логічної групи тестів розраховується свій інтегральний результат, а також - інтегральний результат за всіма логічним групам тестів, який і являє собою інтегральну оцінку продуктивності.

Відзначимо, що для запуску утиліти ComputerPress Benchmark Script v.12.0 з-під операційної системи Windows 8 нам довелося трохи змінити код, щоб мати можливість запускати тест від імені адміністратора, додавати ярлики програм в автозапуск і інші дрібниці, які реалізовані в Windows 8 не так , як в Windows 7. Але ці зміни ніяк не відбиваються на результатах тестування!

Також ми провели додаткове налагодження операційної системи Windows 8, зокрема заблокували інтерфейс Metro і фільтр SmartScreen, відключили UAC (блокуванням режиму Admin approval mode) і відключили Windows Defender, використання якого дуже негативно відбивається на продуктивності системи при операціях копіювання файлів. Одним словом, ми зробили тюнінг операційної системи Windows 8, прибравши звідти все те, чим так пишається Microsoft, але що дратує будь-якого досвідченого користувача і робить роботу з системою практично неможливою. Більш докладно про налаштування операційної системи Windows 8 ви зможете прочитати в наступному номері журналу.

результати тестування

Результати тестування операційних систем Windows 7 Ultimate (64-bit) і Windows 8 Enterprise (64-bit) в пакеті ComputerPress Benchmark Script v.12.0 представлені в табліці і на малюнку.

0 представлені в   табліці   і на малюнку

Результати тестування в пакеті ComputerPress Benchmark Script v.12.0

Як видно за результатами тестування, швидкість виконання тестових завдань в Windows 7 Ultimate (64-bit) і Windows 8 Enterprise (64-bit) практично однакова, а тому можна сказати, що ці операційні системи забезпечують практично рівну продуктивність. Виняток становлять лише додатки Wondershare Video Converter Ultimate 6.0.3.2 (відеоконвертер) і Adobe Premier Pro CS 6.0, які працюють швидше під управлінням операційної системи Windows 7.

Так, у разі використання операційної системи Windows 8 час конвертації відеофайлу додатком Wondershare Video Converter Ultimate 6.0.3.2 (відеоконвертер) збільшується на 28%, а час створення фільму додатком Adobe Premier Pro CS 6.0 збільшується на 4%.

Звичайно ж, ця різниця не дуже суттєва і в цілому можна стверджувати, що в операційних системах Windows 7 і Windows 8 всі програми демонструють приблизно рівну продуктивність. І якщо провести належний тюнінг Windows 8, то цю систему цілком можна використовувати.

КомпьютерПресс 04'2013