How Fast Can You Parse 1 Billion Rows in Java? – Insane Speed Test • Roy van Rijn • GOTO 2025

How Fast Can You Parse 1 Billion Rows in Java? – Insane Speed Test • Roy van Rijn • GOTO 2025

🎙 Roy van Rijn 👥 1.1M 📅 3 juin 2026 ⏱ 39 min 👁 7K 📄 étude originale 🧭 2026-08-02
Disponible en : Français (actuel) English

Mots-clés

JavaperformanceparsingSWARmémoire mappée

Résumé

Roy van Rijn présente son parcours lors du défi ‘1 billion rows challenge’ lancé par Gunnar Morling. Il détaille les optimisations successives qui ont permis de réduire le temps de traitement d’un fichier de 1 milliard de lignes de données météo de 4 minutes 50 secondes à moins de 2 secondes. Les techniques abordées incluent le parallélisme, les fichiers mappés en mémoire, l’utilisation de sun.misc.Unsafe, la programmation sans branche, et le traitement par mots de 64 bits (SWAR). Il explique comment passer de l’implémentation naïve à une version extrêmement optimisée, en insistant sur l’importance de comprendre le matériel et la JVM. La présentation est ponctuée de détails techniques précis et de benchmarks, et se conclut par un résumé des gains obtenus et des leçons apprises.

125 mots

Évaluation critique

La présentation de Roy van Rijn est une démonstration magistrale d’optimisation de performance en Java. Le contenu est très riche et techniquement solide, s’appuyant sur une expérience réelle et reproductible. L’orateur explique clairement chaque étape, des bases (parallélisme, fichiers mappés) aux techniques avancées (SWAR, programmation sans branche, utilisation d’Unsafe). La rigueur scientifique est bonne : les benchmarks sont présentés avec des chiffres précis, et l’auteur prend soin de mentionner les alternatives plus sûres (comme les ByteBuffer) et de déconseiller l’utilisation d’Unsafe en production. Cependant, certaines optimisations sont spécifiques au problème et ne sont pas généralisables, ce qui limite la portée des conclusions. De plus, l’accent mis sur la performance pure pourrait conduire à négliger la lisibilité et la maintenabilité du code, bien que l’auteur en soit conscient. Les sources citées (GitHub, articles) sont pertinentes et accessibles. L’adéquation entre le titre et le contenu est parfaite. En résumé, une excellente présentation pour un public averti, qui allie pédagogie et expertise.

159 mots

Adéquation titre / contenu

Le titre reflète parfaitement le contenu : une démonstration de performance extrême en Java sur un problème réel.

Qualité & fiabilité

8/10

Présentation d'un expert reconnu, basée sur une expérience concrète et reproductible, avec des explications techniques détaillées et des références à des ressources publiques. Quelques raccourcis et optimisations non généralisables, mais l'ensemble est rigoureux et transparent.

Chapitres

Sources citées

Sources concordantes

Sources discordantes

  • Discussion sur l'utilisation de Unsafe — Certains développeurs critiquent l'utilisation de Unsafe en raison des risques de sécurité et de stabilité, ce qui contraste avec l'approche de performance pure de la vidéo.

Apport & nouveautés

La présentation apporte un retour d’expérience détaillé sur l’optimisation extrême d’un programme Java, en montrant concrètement comment des techniques avancées (SWAR, Unsafe, programmation sans branche) peuvent être combinées pour atteindre des performances proches du matériel. L’originalité réside dans la démonstration pas à pas, avec des explications claires et des benchmarks, ce qui en fait une ressource pédagogique précieuse pour les développeurs cherchant à comprendre les limites de Java et les moyens de les repousser.

Pour aller plus loin :

  • 1 Billion Row Challenge — Le défi original avec toutes les implémentations et discussions.
  • SWAR (SIMD Within A Register) — Article Wikipédia expliquant la technique utilisée.
  • Memory-mapped file — Article Wikipédia sur les fichiers mappés en mémoire.
  • sun.misc.Unsafe — Article Wikipédia sur la classe Unsafe (bien que critiquée, elle est utilisée ici).
  • GraalVM Native Image — Documentation officielle sur la compilation native utilisée.

142 mots

Profil radar

Le profil radar montre une excellente qualité d'information et un niveau technique élevé, avec une fiabilité globale solide. La quantité d'information est bonne, mais la note globale de 4 étoiles reflète une présentation très spécialisée qui pourrait ne pas convenir à tous les publics.

Fiabilité 8/10