Шаг 228.
Основы Kotlin.
Основы функционального программирования. Профилирование

    На этом шаге мы рассмотрим функции, используемые для профилирования.

    Для тех, кому важна скорость выполнения, Kotlin предлагает полезные функции для профилирования производительности кода: measureNanoTime() и measureTimeInMillis(). Обе функции принимают лямбду как аргумент и измеряют скорость выполнения кода внутри лямбды. Функция measureNanoTime() возвращает время в наносекундах, а measureTimeInMillis() возвращает время в миллисекундах.

    Примените эти функции для измерения производительности:

val listInNanos = measureNanoTime {
  // Цепочка функций для обработки списка
}
val sequenceInNanos = measureNanoTime {
  // Цепочка функций для обработки последовательности
}
println("список обработан за $listInNanos наносекунд")  
println("последовательность обработана за $sequenceInNanos наносекунд")

    В качестве эксперимента попробуйте оценить производительность примеров поиска простых чисел со списком и последовательностью. (Измените пример со списком, увеличив число проверяемых значений до 7919, чтобы он мог найти 1000 простых чисел.) Как изменилось время выполнения программы после замены списка последовательностью?

    На следующем шаге мы дадим краткую характеристику библиотеке Arrow.kt.




Предыдущий шаг Содержание Следующий шаг