Обновить
0
0

Пользователь

Отправить сообщение

Мне тоже стало любопытно, поэтому вот несколько тестов с ним:

Результаты получены на Arch Linux, Intel(R) Core(TM) i7-3770
Kotlin 2.1.0


Код бенчмарка:

import kotlinx.coroutines.async
import kotlinx.coroutines.awaitAll
import kotlinx.coroutines.delay
import kotlinx.coroutines.runBlocking
import kotlin.time.measureTime


fun main(args: Array) {
    val tasksCount = args[0].toInt()

    val time = measureTime {
        runBlocking {
            val tasks = List(tasksCount) {
                async { delay(10000) }
            }
            tasks.awaitAll()
        }
    }.inWholeMilliseconds

    println("$tasksCount tasks finished in $time ms.")
}

Kotlin native:

1 task: 6.856 MB
10k tasks: 20.404 MB
100k tasks: 142.932 MB
1M tasks: 1406.352 MB

Kotlin - OpenJDK 17:

1 task: 48.760 MB
10k tasks: 68.352 MB
100k tasks: 133.264 MB
1M tasks: 775.896 MB

Kotlin - GraalVM 23:1 task: 107.652 MB
10k tasks: 119.716 MB
100k tasks: 190.916 MB
1M tasks: 782.960 MB

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность