Temps de compilation Rust : de 25 minutes à 2 minutes

2025-04-17
Temps de compilation Rust : de 25 minutes à 2 minutes

L’équipe Feldera a rencontré des temps de compilation excessivement longs lors de la compilation de code Rust généré à partir de SQL à grande échelle. Un programme SQL de 8 562 lignes traduit en ~100 000 lignes de Rust prenait 25 minutes à compiler. Des techniques telles que l’effacement de type et la déduplication de code ont produit des améliorations minimes. La solution est venue en divisant le code Rust généré en 1 106 crates plus petits, permettant une compilation parallèle et réduisant considérablement le temps de compilation à moins de 2 minutes, en utilisant pleinement les processeurs multinœuds.

Lire plus

GitHub Actions CI/CD : Une odyssée douloureuse

2025-03-20
GitHub Actions CI/CD : Une odyssée douloureuse

L'auteur raconte un parcours frustrant dans la construction d'un pipeline CI/CD complexe utilisant GitHub Actions, impliquant de multiples itérations et des difficultés avec les files d'attente de fusion, un comportement incohérent et des préoccupations de sécurité. Les défis comprenaient l'application des vérifications d'état avec les files d'attente de fusion, la compréhension du modèle de sécurité autour de GITHUB_TOKEN, des problèmes d'autorisation de fichiers et de chemins d'accès dans les conteneurs Docker et les complexités des workflows YAML. Malgré une réduction du temps de fusion, l'auteur souligne les nombreux pièges cachés et le comportement incohérent, plaidant pour une meilleure convivialité et un débogage amélioré dans GitHub Actions.

Lire plus
Développement

Révolutionner l'autorisation à grain fin : le moteur de calcul incrémental de Feldera

2025-01-20
Révolutionner l'autorisation à grain fin : le moteur de calcul incrémental de Feldera

Feldera présente une approche révolutionnaire de l'autorisation à grain fin (FGA). Les systèmes FGA traditionnels évaluent les demandes d'autorisation en temps réel, ce qui entraîne une inefficacité. Feldera précalcule toutes les décisions d'autorisation et utilise son moteur de calcul incrémental (basé sur SQL) pour mettre à jour les résultats, transformant les demandes d'autorisation en simples recherches clé-valeur. Même avec de grands graphes d'objets, Feldera traite les modifications en quelques millisecondes, améliorant considérablement les performances. L'article détaille les principes de la FGA et montre comment construire un moteur FGA haute performance à l'aide de SQL, démontrant sa supériorité dans la gestion de grands ensembles de données.

Lire plus