CPDT Benchmark〉Storage, memory
  • 4.3

CPDT Benchmark〉Storage, memory

  • Последняя версия
  • Maxim Saplin

◤Тестирование производительности телефона: скорость внутренней памяти/SD карты

Об этом приложении

! В Андроид 11 для теста доступна только внутренняя память.
! Приложение создает нагрузку на ОЗУ телефона, максимально заполняя оперативную память. Это необходимо, чтобы получить реалистичные результаты (а не погоду на Луне, как в других бенчмарках) и обойти влияние кеша. Как побочный результат у небольшого процента пользователей приложение может вылетать, а у некоторых даже перезагружается телефон - других вариантов обхода кеша в Андроид нету.

CPDT (Cross Platform Disk Test) - приложение для измерения скорости постоянной памяти (внутренняя память смартфона/NAND/NVMe/UFS, SD карта) и оперативной памяти (ОЗУ, RAM).

Имеется база данных с результатами для различных устройств, где вы можете увидеть показатели, например, Samsung Galaxy S20 и сравнить ваши результаты.

Помимо Android/Chrome OS приложение доступно на Windows и macOS, что позволяет сравнить производительность вашего телефона с настольными компьютерами, Mac и ноутбуками (SSD/HDD).

Версии для Mac и Windows:
https://maxim-saplin.github.io/cpdt_results/?download

Тесты:

◉ Постоянная память

╰┄◎ Последовательная запись (Sequential write)

╰┄◎ Последовательное чтение (Sequential read)

╰┄◎ Произвольная запись (блок 4КБ, Random write)

╰┄◎ Произвольное чтение (блок 4КБ, Random read)

◉ Оперативная память (ОЗУ, RAM)

╰┄◎ Копирование блоков в памяти (Memory copy)

Результаты тестов - это пропускная способность, выраженная в МБ/с (мегабайтах в секунду).

Настройки:

◉ Размер тестового файла

╰┄◎ 0.5Гб ┄◎ 1Гб ┄◎ 2Гб┄◎ 4Гб ┄◎ 8Гб ┄◎ 16Гб

◉ Буферизация записи

╰┄◎ Вкл ┄◎ Выкл

◉ Кэширование данных в памяти

╰┄◎ Вкл ┄◎ Выкл

Для последовательных тестов строятся линейные графики скорости, для произвольных тестов - гистограммы. Результаты могу быть экспортированы в CSV/Excel для дальнейшего анализа (приводятся сведения по позициями в тестовом файле и измеренным скоростям для каждого из блоков данных).

Чем CPDT отличается от других бенчмарков? Большинство приложений тестируют процессор и/или графическую подсистему (такие как Geekbench, AnTuTu) - тестов постоянной памяти там нету.
Бенчмарки памяти редко содержат настройки помимо размера тестового файла. Контролировать буферизацию и кэширование невозможно (например в Androbench) либо требуется перезагрузка устройства для исключения влияния кеша (A1 SD).

Кэширование - механизм, сильно влияющий на результаты. При включенном кэше тесты на чтение измеряют комбинированную скорость ОЗУ и диска - это не изолированный тест, он не расскажет о производительности сценариев «холодного» чтения (загрузка устройства, запуск приложения). Схожая ситуация с буферизацией, когда затрагиваются тесты на запись.

В CPDT есть настройки, минимизирующие влияние кэша и буферизации и позволяющие сопоставить результаты разных устройств и ОС.

Почему скорость памяти важна? Этот параметр прямо влияет на общий уровень «воспринимаемой» производительности устройства: определяет время «холодного» запуска приложения, «фризы/лаги» приложений при обращении к диску (отрисовка страницы из кэша браузером, пролистывание галереи картинок или загруженной ленты Инстаграм и т.п.).

На Chrome OS для доступа к SD карте приложению необходимо дать разрешение (Storage permission).

!Поддержка OTG не гарантирована! Кард-ридер или флешка подключенные по USB проводу через зарядный разъем могут быть доступны для теста, а могут и не быть. Например Samsung Galaxy S8 (Android 8) и Note 10 (A10) работают. Xiaomi Mi8SE (A9), Meizu 16th (A8.1) и LG Nexus 5x (A6) не работают (но в системе устройство видно). Почему так? У Андроид исторически есть проблемы с моделью работы с подключаемыми устройствами. Некоторые производители монтируя устройство и делают его доступным через стандартный API [Context.getExternalFilesDir()]. В других случаях нужно танцевать с бубном и разбираться в конкретных прошивках.

Исходный код: https://github.com/maxim-saplin/CrossPlatformDiskTest

Версии CPDT Benchmark〉Storage, memory