Optimisation JVM : Une histoire de VarInt aux résultats inattendus

2025-07-25

Lors de l'optimisation de code Java sur une plateforme massive de traitement de données distribuées, l'auteur a identifié l'encodage VarInt comme une cible d'optimisation potentielle. Il a écrit un encodeur VarInt hautement optimisé utilisant des instructions SIMD, obtenant une accélération de 4x dans les benchmarks. Cependant, de manière surprenante, l'optimisation n'a apporté aucune amélioration en production. Le coupable ? Le benchmark utilisait des nombres aléatoires, alors que les nombres réels ont tendance à être beaucoup plus petits, rendant les performances du pire cas de l'algorithme sans intérêt en pratique. Le changement a finalement été annulé, mais l'expérience a servi de preuve de concept précieuse pour le développement et la mise en production d'optimisations JIT personnalisées.

Développement Optimisation Java