Blog
Perspectives et articles sur Rust 🦀, l'IA et le développement d'outils en direct.
Filtrer par thème
Affichage de 6 sur 61 articles • Page 4 sur 11
Partie 1 : GC Pauses et Latence: Le coût caché des langages de haut niveau
Java, Python et JavaScript offrent de la commodité, mais le garbage collector introduit une latence imprévisible.
Partie 2 : Les langages comme C/C++ ou Zig permettent de contrôler la mémoire mais à quel prix ?
C évite le besoin d'avoir un garbage collector et donne un contrôle manuel de la mémoire, mais ouvre la porte à des bugs dangereux.
Partie 3 : Rust: Memory safety sans garabe collector
Rust a des performances équivalentes à C/C++ avec en plus la sécurité mémoire vérifée dès la compilation. Cela grâce à deux mécanismes: borrowing et ownership.
Comprendre le Trait Drop en Rust
Comment fonctionne le trait Drop, quand le destructeur s'exécute, et pourquoi l'implémenter à la main est plus rare qu'il n'y paraît.
Comment fonctionne Cow<'a, B> (Copy-on-Write) en Rust ? Quand l'utiliser ?
Cow<'a, B> permet d'emprunter quand c'est possible et d'allouer seulement quand il le faut. Comment marche le copy-on-write et quand il est rentable.
Aligner les structures de données aux lignes de cache
Conception de structures de données alignées sur le cache dans les applications Rust multi-threadées pour éviter le faux partage et optimiser les performances lors du traitement de grands ensembles de données
Optimisation au niveau des instructions : #[inline(always)]
Application stratégique de l'attribut #[inline(always)] de Rust pour l'optimisation au niveau des instructions, couvrant les modèles d'utilisation efficaces et les risques de surutilisation
Éviter l'allocation heap sur un chemin temps réel
Exploiter les fonctionnalités stack-based de Rust comme les tableaux de taille fixe et Option pour éliminer les allocations heap dans les systèmes temps réel pour une exécution prévisible et faible latence
Vec::push() dans une boucle vs. pré-allouer avec Vec::with_capacity() ?
Comparaison des performances de Vec::push() dans les boucles versus pré-allouer avec Vec::with_capacity(), analysant les coûts de réallocation mémoire et stratégies d'optimisation