ru24.pro
Все новости
Сентябрь
2024

CPDT Benchmark 2.4.1

0

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

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

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

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

Версии для Mac и Windows: 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()]. В других случаях нужно танцевать с бубном и разбираться в конкретных прошивках.

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