Je cherche depuis quelques mois à réduire la consommation mémoire de mes applications Kotlin tournant sur JRE (mais ça vaut aussi pour les applications Java). J'avais d'abord jeté un œil du côté du moteur OpenJ9, la JVM d'IBM/Eclipse qui favorise une petite empreinte mémoire mais souvent au détriment de la vitesse de calcul.
Or, depuis Java 25 (dernière version LTS), la consommation mémoire de Java a été réduite d'environ 20% sur les JVM basée sur le moteur Hotspot. Avec ma façon de codé s'inspirant des livres de David West et de Yegor Bugayenko, j'observe une réduction de l'empreinte mémoire de presque 40%, ce qui est considérable quand on sait que les performances sont restées les mêmes !
Bref, on est encore loins de Rust et des serveurs à 4-8 Mo de RAM en Xitca mais sur mon dernier test, certes fait à la va vite, en Kotlin + Jooby + Compilation Native GraalVM basée sur Java 25, je parviens à abaisser la consommation mémoire à 26 Mo à froid ce qui est du jamais vu pour un web-serveur en Kotlin !
Quand on ajoute à cela le fait que développer en Kotlin est 10x plus facile qu'en Rust pour le même niveau de sûreté et souvent un meilleur throughput, cette évolution se passe de commentaires <3 <3 <3