Примітка: на Android 11 доступний лише тест внутрішньої пам’яті.
CPDT (Cross Platform Disk Test) - це програма тестування продуктивності, яка вимірює швидкість введення-виведення постійного сховища (внутрішня пам’ять / NAND / NVMe / UFS / SD-карта) та системна пам’ять (оперативна пам’ять).
Ця програма має Windows, macOS та Linux v̲e̲r̲s̲i̲o̲n̲s̲, які дозволяють послідовно запускати тести на пристроях та операційних системах. Їх можна завантажити на веб-сайті: https://maxim-saplin.github.io/cpdt_results/?download
База даних результатів у програмі дозволяє порівняти продуктивність вашого телефону з іншими смартфонами Android (наприклад, Samsung Galaxy Note 10, Xiaomi Redmi 7 тощо) та широким спектром обладнання (iPhone, Mac, ПК з ОС Windows, програвачі Android TV тощо).
Набір тестів включає наступні 5 тестів:
Tests Тести постійного зберігання
┊
╰┄ ◎ Послідовний запис
┊
╰┄ ◎ Послідовне читання
┊
╰┄ ◎ Випадковий запис (блок 4 КБ)
┊
╰┄ ◎ Випадкове читання (блок 4 КБ)
Test Тест оперативної пам'яті
┊
╰┄ ◎ Копія пам'яті
- результати випробувань подаються як значення пропускної здатності, виміряні в МБ / с (мегабайти в секунду).
У меню "Параметри" доступні різні налаштування, які дозволяють користувачам контролювати:
Розмір тестового файлу
┊
╰┄ ◎ 0.5GB ┄ ┄ 1GB ┄ ◎ 2GB ┄ ◎ 4GB ┄ ◎ 8GB ┄ ◎ 16GB
Запис буферизації
┊
◎ Увімкнено ┄ ◎ Вимкнено
◉ Кешування файлів у пам’яті
┊
◎ Увімкнено ┄ ◎ Вимкнено
Для послідовних тестів додаток будує графіки часових рядів, для випадкових тестів - гістограми. Результати тесту можна експортувати до CSV для подальшого аналізу (кожен рядок, що містить позицію блоку у файлі тесту та вимірюється пропускна здатність).
Чим CPDT відрізняється від інших програм? Найбільш популярні тести орієнтовані на центральний процесор / графічний процесор (такі як Geekbench, AnTuTu) і повністю ігнорують продуктивність сховища.
Тести пам’яті та пам’яті рідко дозволяють користувачам змінювати будь-які налаштування та обмежуються зазначенням розміру тестового файлу. Керувати буферизацією або кешуванням неможливо (наприклад, Androbnech) або вимагати перезавантаження пристрою (наприклад, A1 SD).
Кешування - це механізм, який суттєво впливає на результати тестів. Якщо значення УВІМКНЕНО, на результати тесту впливають швидкості оперативної пам'яті, і неможливо виділити продуктивність постійного сховища в таких тестах. Сценарії холодного читання (наприклад, завантаження пристрою або перший запуск програми) не можуть бути описані кешованими зчитуваннями. Така ж ситуація і з буферизацією, яка впливає на тести запису. Буферизація використовує оперативну пам'ять для тимчасового зберігання даних перед збереженням їх на зберіганні.
CPDT має справу як з кешуванням, так і з буферизацією, і за замовчуванням вони вимкнені, що дозволяє послідовно вимірювати та порівнювати продуктивність постійного сховища між пристроями та операційними системами.
Чому пам’ять та продуктивність пам’яті важливі? Це безпосередньо впливає на рівень “сприйнятої” продуктивності. Замерзання інтерфейсу користувача в багатьох випадках можна описати заїканням на рівні сховища. Наприклад відображення завантаженої веб-сторінки в браузері, коли вона запитує дані з диска, прокрутка зображень у програмі галереї (зображення прокручує їх тисячі) або перехід у стрічку Instagram (попередньо завантажені зображення будуть запитуватися з кешу, що зберігається на диску).
Користувачі Chromebook можуть використовувати цей додаток після ввімкнення Google Play. Для доступу до SD / Картки пам'яті програмі необхідно надати “Дозвіл на зберігання” в налаштуваннях Google Play ОС Chrome.
! Підтримка OTG НЕ гарантується! Якщо ви підключите до свого пристрою зовнішній зчитувач карток або флеш-накопичувач USB, він може працювати, а може і ні. Наприклад Samsung Galaxy S8 з Android 8 і Note 10 з Android 10 працюють нормально. Xiaomi Mi8SE (Android 9), Meizu 16th (Android 8.1) і LG Nexus 5x (Android 6) не працюють (хоча диск все одно ви зможете побачити в системі). Чому так? ОС Android не має послідовної моделі, що працює із зовнішніми підключеними пристроями зберігання даних. Деякі виробники пристроїв роблять хорошу роботу (наприклад, Samsung), правильно встановлюючи пристрій і роблячи його доступним за замовчуванням API (Context.getExternalFilesDir ()). Інші вимагають хитрощів або впровадження спеціальних API для виробництва.
Проект відкритий, і ви можете відвідати його сторінку на GitHub:
https://github.com/maxim-saplin/CrossPlatformDiskTest