← Retour au blog
tech 25 juin 2026

J'ai réécrit le parser SQL de PostHog, 70x plus rapide, sans presque regarder le code

Découvrez comment une réécriture intelligente du parser SQL de PostHog a permis une accélération de 70 fois, tout en réduisant considérablement le temps de développement grâce à l'utilisation d'outils avancés et de sessions AI.

Article inspiré de la source originale
I rewrote PostHog's SQL parser, 70x faster, while barely looking at the code ↗ posthog.com

Introduction

Dans l'univers des technologies modernes, optimiser chaque composant de ton infrastructure IT peut faire une énorme différence. PostHog, une plateforme d'analyse de produits, l'a compris en réécrivant son parseur SQL pour qu'il soit 70 fois plus rapide. Mais ce qui est encore plus impressionnant, c'est que cette prouesse a été réalisée sans passer des heures à scruter le code ligne par ligne.

Pourquoi un parseur SQL chez PostHog ?

PostHog permet à ses utilisateurs d'accéder directement à leurs données via SQL. Pour cela, il est crucial de transpiler le SQL en requêtes ClickHouse brutes. Cela aide à présenter une vue logique des données, indépendante de la structure physique de la base de données. En d'autres termes, le parseur SQL joue un rôle fondamental en convertissant les requêtes SQL en un arbre syntaxique abstrait (AST), qui est ensuite utilisé pour des optimisations de performances et des contrôles d'accès.

Génération de parseur avec ANTLR

Pour éviter la complexité et la maintenance chronophage d'un parseur écrit manuellement, PostHog a choisi ANTLR, un générateur de parseurs open source. ANTLR permet de déclarer la grammaire dans un fichier .g4, générant ainsi automatiquement la plupart du code du parseur. Bien que puissant, ANTLR est flexible mais peut être lourd, nécessitant ainsi des optimisations supplémentaires.

Utilisation de sessions AI pour la réécriture

Robbie Coomber, ingénieur chez PostHog, a eu recours à des sessions parallèles de Claude Code, un outil AI, pour réécrire le parseur. Le résultat ? 16 000 lignes de code de parseur et environ 5 000 lignes d'outils supplémentaires. Le gain de vitesse a atteint un facteur de 70, tout en gardant une équivalence fonctionnelle pour toutes les requêtes réalistes.

Tests basés sur les propriétés

L'une des approches innovantes employées fut l'utilisation de tests basés sur les propriétés. Ces tests vérifient que le parseur fonctionne correctement pour une large gamme de scénarios, augmentant ainsi la robustesse du système et limitant les erreurs potentielles.

Impact et perspectives

Le nouveau parseur a non seulement amélioré la performance, mais il a aussi ouvert des perspectives pour des optimisations futures. Avec cette base solide, PostHog peut envisager des améliorations continues et répondre à des demandes plus complexes.

Conclusion

Réécrire un composant clé comme un parseur SQL est un défi, mais avec les bons outils et une approche innovante, les résultats peuvent être spectaculaires. Si tu souhaites explorer comment optimiser ton infrastructure avec l'IA et d'autres technologies avancées, discutons de ton projet en 15 minutes.

SQL parser PostHog ANTLR AI performance optimization
Newsletter Deepthix · 100% IA · chaque lundi 8h

Un agent IA lit la tech à ta place.

Notre agent IA scanne ~200 sources par semaine et te livre les meilleurs articles le lundi 8h. Gratuit. 1 clic pour se désinscrire.

Voir la page newsletter →

Tu veux automatiser tes opérations ?

Discutons de ton projet en 15 minutes.

Réserver un call