IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

La version stable de Rust 1.24 est disponible
Avec la compilation incrémentielle par défaut pour améliorer le temps de compilation des projets

Le , par Olivier Famien

64PARTAGES

9  0 
L’équipe de Rust vient d’annoncer la sortie d’une nouvelle version stable du langage de programmation Rust portant le numéro de référence 1.24.0. Dans cette version qui contient plusieurs améliorations, l’on note d’emblée l’ajout de la fonctionnalité rustfmt. Rustfmt est un composant qui permet de reformater le code Rust dans un « style standard ». Bien qu’elle soit encore au stade de préversion, cette fonctionnalité peut être utilisée dans cette nouvelle version stable de Rust.

Pour installer le composant, l’équipe de Rust suggère l’exécution du code suivant :

Code Rust : Sélectionner tout
$ rustup component add rustfmt-preview

Comme on peut le remarquer dans cette ligne de code, il est conseillé d’utiliser rustup component add au lieu de cargo install. Pour ceux qui avait déjà installé ce composant avec le code cargo install, l’équipe de Rust préconise de le désinstaller d’abord avant d’installer la nouvelle préversion qui vient d’être rendue disponible. Bien évidemment, vu que cette fonctionnalité est encore à l’étape de préversion, elle peut être sujette à des bogues ou des modifications. Mais dès qu’elle atteindra la version 1.0, rassure l’équipe de Rust, cette préversion sera dépréciée au profit de sa version stable.

Comme autre ajout dans cette version 1.24.0 de Rust, nous avons la compilation incrémentielle qui a été ajoutée par défaut. L’avantage avec la compilation incrémentielle est qu’elle permet de gagner du temps lorsque vous devez recompiler un projet après avoir effectué de petits changements. Par exemple, lorsque l’on travaille sur un projet il arrive assez souvent d’effectuer des modifications du code et de compiler à nouveau le projet. Dans le passé, lorsque vous étiez face à tel scénario, le compilateur ne faisait que recompiler l’ensemble du projet, ce qui pouvait être assez agaçant si la modification était minime et le projet assez volumineux. Mais avec la compilation incrémentielle, le code compilé dans le projet est celui qui a été modifié. Les autres parties du code ne sont pas affectées par la nouvelle compilation, ce qui permet de gagner du temps.

Et pour ceux qui sont particulièrement intéressés par l’amélioration des performances du compilateur Rust, l’équipe de Rust annonce que le nombre de codegen-units pour la compilation des projets est maintenant fixé par défaut à 16. Cela permet de compiler assez rapidement les versions des projets, mais le binaire obtenu est un peu lent. Pour atteindre une performance maximale, l’équipe de Rust conseille de définir codegen-units à 1 dans le fichier Cargo.toml afin d’éliminer toutes les dernières baisses de performance. Et au-delà ces améliorations, les développeurs de Rust annoncent que nombreux autres travaux sont prévus dans le but d’améliorer les performances de Rust.


Pour ce qui concerne les bibliothèques Rust, l’équipe de Rust annonce que la primitive str::find qui est utilisée pour trouver un caractère donné char à l’intérieur d’une chaine de caractères littérale &str a connu des améliorations de performances d’un facteur 10. De même, certaines nouvelles API ont été stabilisées dans cette nouvelle version. Ce sont notamment RefCell::replace, RefCell::swap et std::sync::atomic::spin_loop_hint.

Enfin, certaines fonctions peuvent être maintenant utilisées à l’intérieur des constantes. Ce sont entre autres :

  • les nouvelles fonctions Cell, RefCell et UnsafeCell ;
  • les nouvelles fonctions des différents types d’entiers Atomic ;
  • {integer} :: min_value et max_value ;
  • size_of et align_of pour mem;
  • ptr::null et null_mut

Source : Blog Rust

Et vous ?

Comment jugez-vous cette nouvelle version de Rust ? répond-elle à vos attentes ?

Quelles améliorations auriez-vous souhaité voir dans cette nouvelle version ou les versions à venir ?

Voir aussi

Mozilla annonce la disponibilité de Rust 1.16 qui s'accompagne de la sous-commande cargo check
Rust 1.17 est désormais disponible en version stable, et intègre de nombreuses améliorations
Rust 1.18 est disponible en version stable et apporte une optimisation sur l'alignement mémoire

Une erreur dans cette actualité ? Signalez-nous-la !