👉 Большой анализ с помощью Jetpack Microbenchmark.
👉 Автор исследует как работают инструменты на единственном потоке, на максимальном количестве потоков исполняемых параллельно и на количестве потоков, равное количеству задач.
👉 Наглядно видно, почему стоит использовать встроенные IO диспатчеры для задач связанных с записью данных
👉 Автор приходит к выводу что лучше использовать малое количество потоков, дробя большую задачу на подзадачи, для быстрого выполнения
Код, соответсвующий результатам на графике, приведен ниже. Автор так же делает сравнительный анализ для каждой операции, так что рекомендую глянуть статью целиком!
private fun mixed(seed: Int): Int {
return when {
seed % 5 == 0 -> network(seed)
seed % 3 == 0 -> storage(seed)
seed % 2 == 0 -> listsManipulation(seed)
else -> arithmetic(seed)
}
}
