Различия в производительности между разными API в AVD - PullRequest
0 голосов
/ 26 июня 2019

Я экспериментирую с java.util.stream для параллельного расчета. Я использую Android Studio, и проверка обновлений говорит, что у меня последняя версия.

У меня есть простое вычисление, реализованное в виде вложенного цикла for и в виде вложенного ...Stream.range(...).parallel()... с использованием сочетания Int и Double, как того требует мой расчет. У меня нет доступного оборудования, поэтому я использую эмулятор AVD. Я устанавливаю переменные равными SystemClock.uptimeMillis() в начале и в конце моего расчета, а затем достигаю точки останова.

Время расчета для различных API (версии для Android). Все виртуальные устройства имеют образ Pixel 2 x86 и все на одном компьютере с Windows 7.

  • API 22 (Android 5.1) последовательный 0.6s параллельный н / д.
  • API 25 (Android 7.1.1), последовательная 67-я параллельная 5.2s.
  • API 28 (Android 9.0), параллельные 1.4s, параллельные 23s.

Я бы ожидал различий с другим оборудованием, но я удивлен изменением с версией Android. Кто-нибудь знает, является ли это специфическим для AVD или представляет различия в реальном мире?

1 Ответ

0 голосов
/ 26 июня 2019

Я согласен с комментарием Владислава. Кроме того, похоже, что это больше связано с отладочной сборкой / взаимодействием. Использование сборки выпуска не показывает такого резкого (67 с против 1,4 с) изменения (только визуальная оценка).

...