io_uring gagne une nouvelle fonctionnalité de création de processus

2024-12-20

LWN.net relate le développement d'une nouvelle fonctionnalité de création de processus pour le sous-système io_uring. Cette fonctionnalité est implémentée via deux nouvelles opérations io_uring : IORING_OP_CLONE, qui crée un nouveau processus, et IORING_OP_EXEC, qui effectue un appel système execveat() pour charger un nouveau programme. Cela promet une efficacité accrue et permet d'exécuter une logique plus complexe, comme la recherche de chemins, de manière asynchrone dans le noyau. Cependant, cette fonctionnalité est encore à un stade précoce et présente des limitations, telles que la nécessité d'exécuter de manière synchrone les opérations io_uring dans le nouveau processus. Les développements futurs viseront à accroître la flexibilité et à fusionner éventuellement cette fonctionnalité dans le noyau principal de Linux.

Lire plus

Sortie de Fish Shell 4.0 : Réécriture en Rust pour des performances améliorées

2024-12-19

Fish shell, un shell de ligne de commande réputé pour sa convivialité et ses fonctionnalités intelligentes, a publié la version 4.0. Le changement le plus important est la réécriture complète de la base de code de C++ à Rust, ce qui se traduit par une meilleure efficacité de calcul moderne. La version 4.0 propose également de nombreuses nouvelles fonctionnalités, telles que des raccourcis clavier plus naturels et une recherche d'historique améliorée, conçues pour rendre l'expérience de la ligne de commande plus facile et plus agréable. Pour garantir la stabilité, le projet a publié une version bêta publique invitant tous les utilisateurs à participer aux tests.

Lire plus
Développement

Emacs propulsé par Guile : Un projet de réécriture audacieux

2024-12-16

L'éditeur Emacs est réputé pour son extensibilité, mais il rencontre des limites de performance et d'expressivité avec son langage principal, Emacs Lisp (Elisp). Pour y remédier, le projet Guile-Emacs vise à remplacer Elisp dans Emacs par Guile Lisp. Après des années de développement et de dormance, Guile-Emacs a été relancé par les développeurs Robin Templeton et Larry Valkama. Le projet entend exploiter les avantages du compilateur et des performances de Guile pour améliorer la vitesse et l'extensibilité d'Emacs, tout en maintenant la compatibilité avec Elisp. L'objectif final est de réécrire une partie importante du code C d'Emacs en Lisp, améliorant ainsi considérablement sa capacité de personnalisation. Malgré les défis techniques et politiques, le projet offre des perspectives stimulantes pour l'avenir d'Emacs.

Lire plus
Développement

Compilateur Rust : Une architecture de compilation incrémentale basée sur les requêtes

2024-12-13

Pour résoudre les problèmes d'efficacité de la compilation traditionnelle en pipeline, le compilateur Rust utilise une architecture de compilation incrémentale basée sur les requêtes. Cette architecture décompose le processus de compilation en une série de requêtes interdépendantes, utilisant une base de données de compilation pour mettre en cache les résultats intermédiaires. Cela permet de ne recompiler que les sections de code nécessaires. Similaire à la gestion des dépendances d'un système de build, cela améliore significativement la vitesse de compilation, particulièrement bénéfique dans des scénarios tels que l'intégration avec les IDE. Bien qu'elle introduise de la complexité, cette approche offre une expérience de compilation incrémentale plus stable et efficace pour Rust par rapport aux améliorations progressives des systèmes traditionnels, et est maintenant la valeur par défaut pour les builds de développement.

Lire plus

Le projet Git bloqué sur l'intégration de Rust

2024-12-13

Le projet Git est au cœur d'un débat animé concernant l'intégration du langage de programmation Rust. Les partisans soutiennent que la sécurité mémoire et la facilité de refactorisation de Rust amélioreraient la sécurité et l'expérience des développeurs de Git. Cependant, les opposants craignent que l'intégration de Rust ne compromette le support de plateformes de niche comme NonStop, ce qui pourrait nuire à la viabilité à long terme de Git. La prévalence de NonStop dans le secteur financier, sa dépendance à Git et l'absence de compilateur Rust pour cette plateforme compliquent la situation. Le débat n'a finalement abouti à aucune conclusion, laissant le projet Git aux prises avec une décision critique entre le maintien d'un large support des plateformes et l'amélioration de la sécurité et de l'expérience des développeurs.

Lire plus
Développement Support de plateforme