Я экспериментирую с 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 или представляет различия в реальном мире?