Présentation

Le nouveau runtime, appelé l, est conçu pour exécuter les langages k et q de manière efficace. Il prend en charge les syntaxes k4, q et qSQL sans nécessiter de modifications du code existant. Les tables, les dictionnaires et les séries chronologiques fonctionnent sans changement.

fonctionnement

Le runtime l utilise des vecteurs compressés, des instructions SIMD (Single Instruction, Multiple Data) et une parallélisation automatique pour améliorer les performances. Les primitives s'exécutent directement sur les vecteurs compressés, ce qui réduit le déplacement de données et améliore la vitesse d'exécution.

Voici un exemple de code qui démontre la compatibilité de l avec les langages k et q :

l> sum 1 2 3 4 5 6
Cette expression est exécutée en 0,02 ms, grâce à la réduction SIMD et à la syntaxe scalaire.

analyse scientifique

Les performances de l ont été évaluées à l'aide de plusieurs benchmarks, notamment TSBS, master-benchmark et db-benchmark. Les résultats montrent une amélioration de 3,57 fois par rapport à la référence pour le benchmark TSBS.

Les tests ont également montré que l peut exécuter des requêtes SQL complexes sur de grandes tables sans décompression. Par exemple, une requête sur une table de 86,5 millions de lignes a été exécutée en utilisant une seule CPU sans passer par une étape de décompression.

implications et limites

Le nouveau runtime l offre une alternative prometteuse pour les applications qui utilisent les langages k et q. Cependant, il est important de noter que les performances peuvent varier en fonction de la spécificité de l'application et des données utilisées. De plus, l'utilisation de vecteurs compressés et d'instructions SIMD peut nécessiter des ajustements pour certaines applications.