Compilation JIT de code en 5μs : construction d'un JIT rapide pour Postgres pgrust

✍️ OpenClawRadar📅 Publié: August 24, 2026🔗 Source
Ad

Historiquement, la compilation JIT rapide était un art noir. Les bases de données de production utilisent soit LLVM, soit génèrent du code C/C++, avec des temps de compilation élevés. Aujourd'hui, l'assistance IA rend pratique l'écriture d'un compilateur JIT qui cible directement l'assembleur, atteignant des temps de compilation autour de 5μs. C'est ce que l'auteur a fait pour pgrust, une extension Postgres en Rust.

L'idée clé : la compilation JIT est précieuse lorsque les informations d'exécution modifient radicalement le comportement, comme l'analyse de données avec un schéma inconnu. Pour les bases de données, compiler en JIT chaque requête peut apporter des gains de performance de 2 à 5 fois, mais seulement si le temps de compilation est négligeable. LLVM et la génération de code C/C++ prennent des millisecondes, limitant leur utilisation aux requêtes complexes uniquement. Un JIT de 5μs peut traiter chaque requête.

Pour le démontrer, l'article construit un moteur d'expressions régulières simple prenant en charge les littéraux et la répétition (*). L'expression régulière b(an)* est utilisée comme référence. La version interpréteur est 10 à 20 fois plus lente que le code écrit à la main. L'approche JIT vise à combler cet écart.

Ad

Points clés du post :

  • La compilation JIT est la pratique de générer du code compilé à l'exécution, souvent avec des gains de performance de 2 à 5 fois.
  • Les approches traditionnelles JIT (LLVM, génération de C) souffrent de temps de compilation élevés.
  • L'assistance IA abaisse la barrière à l'écriture de JIT générant de l'assembleur.
  • Le compilateur JIT de pgrust compile le code en environ 5μs, permettant la JIT pour chaque requête SQL.
  • L'article fournit un tutoriel pour construire un moteur d'expressions régulières simple avec JIT, en sautant le parseur pour simplifier.

Pour les développeurs intéressés par l'architecture des bases de données ou les techniques JIT, ce post offre des aperçus pratiques sur une nouvelle approche qui pourrait améliorer les systèmes hérités.

📖 Lire la source complète : HN AI Agents

Ad

👀 See Also