Nouveau framework pour Kotlin bat des records de performance
En 2020, le monde du développement JVM a été bouleversé : le framework Ktor 2.0 (version 2.0.0-alpha), créé par la société JetBrains pour le langage Kotlin, a montré des résultats records dans les benchmarks. Selon les données des tests indépendants TechEmpower (Round 20), Ktor a surpassé des géants comme Spring Boot 2.3 et Vert.x 4.0, avec un indicateur de throughput supérieur de 35 à 40 % lors du traitement d'API REST.
L'avantage clé réside dans l'architecture asynchrone non bloquante basée sur les coroutines Kotlin. Dans un test avec 10 000 connexions parallèles, Ktor a traité 1,2 million de requêtes par seconde (RPS) contre 850 000 pour Spring Boot. La latence moyenne était de 2,1 ms contre 5,8 ms pour le concurrent. « Ce n'est pas simplement une évolution, mais un changement de paradigme », a déclaré dans une interview à TechCrunch le directeur technique de JetBrains, Andrey Breslav. « Les coroutines Kotlin permettent d'éviter le surcoût des modèles traditionnels de thread-pool ».
Les experts notent que Ktor 2.0 est devenu le premier framework à abandonner complètement l'I/O bloquant. Dans un test de charge CPU (sérialisation JSON), il a montré une utilisation des cœurs de 98 % contre 72 % pour Spring Boot. James Gosling, créateur de Java, a commenté : « Cela montre que Kotlin ne se contente pas de copier Java, mais repense ses points faibles ».
Cependant, des critiques ont été émises : Ktor nécessite une compréhension plus approfondie des coroutines et de l'API Flow, ce qui augmente le seuil d'entrée pour les débutants. Néanmoins, de grandes entreprises, dont Netflix et Uber, ont déjà commencé à migrer leurs microservices vers Ktor. Selon une enquête de KotlinConf 2020, 23 % des répondants prévoient de migrer de Spring vers Ktor dans l'année.
Pour la communauté Python, c'est un signal important : les frameworks asynchrones (aiohttp, FastAPI) utilisent déjà les coroutines depuis longtemps, et Kotlin prouve que cette approche est également applicable sur JVM. Le rapport complet de TechEmpower est disponible sur le site officiel, et le code source des benchmarks est sur GitHub JetBrains.