#performance
18 articles about performance
Filtrer par thème
É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
Maîtriser l'Inline Assembly en Rust : Quand et Comment Optimiser en Sécurité
Optimisation bas niveau en Rust, se concentrant sur l'utilisation d'inline assembly pour les tâches critiques en performance
Booster les Boucles Chaudes Rust : Réduire les Branch Mispredictions
Optimisation bas niveau en Rust, se concentrant sur la minimisation des branch mispredictions dans les boucles critiques en performance
SIMD en Rust : Optimiser la Multiplication de Matrices
Exploiter le support SIMD de Rust pour accélérer la multiplication de matrices avec des considérations pour la portabilité et la justesse
Abstractions Zéro-Coût : Comment Rust Optimise les Chaînes d'Itérateurs
Optimisation bas niveau en Rust, se concentrant sur les chaînes d'itérateurs et les abstractions zéro-coût
Profiling Rust : Résoudre les L1 Cache Misses avec perf, Flamegraph et Criterion
Optimisation bas niveau en Rust, se concentrant sur les outils de profiling pour identifier et corriger les goulots d'étranglement de performance comme les L1 cache misses
Rust repr : Optimiser la Mémoire des Structs pour l'Efficacité Cache
Optimisation mémoire bas niveau en Rust, couvrant les attributs repr, l'efficacité cache, et les compromis de performance
Closures ou fonctions : ce que coûte vraiment une closure
Analyser l'overhead de performance des closures versus les functions régulières en Rust, couvrant static dispatch, heap allocation, et scénarios d'optimisation
impl Fn() vs. Box<dyn Fn()>: Le Duel du Dispatch des Closures en Rust
Comparaison du static et dynamic dispatch pour les closures en Rust, focus sur performance et cas d'usage
Aplatir un Vec<Vec<T>> en Vec<T> avec des itérateurs
Comparaison entre l'aplatissement de Vec<Vec<T>> avec des itérateurs et la concaténation manuelle, avec analyse des implications sur les performances
Vec::retain() vs filtrage avec iter().filter().collect() ?
Comparaison du filtrage en place avec Vec::retain() et iter().filter().collect() pour différents scénarios de filtrage et implications sur les performances
Comment supprimer efficacement les doublons d'un Vec<T> où T: Eq + Hash ?
Approches efficaces pour supprimer les doublons d'un Vec<T> où T: Eq + Hash, comparant les méthodes basées sur HashSet et le tri avec analyse de performance
Quelle est la différence entre Box<[T]> et Vec<T> ?
Comparaison des différences entre Box<[T]> et Vec<T> concernant la mutabilité, la surcharge mémoire et les implications de performance pour différents cas d'usage
Rust Vec::new() vs. with_capacity() : Quand utiliser chacune
Vec::new() alloue à la première insertion, with_capacity(n) alloue une fois pour n éléments. Quand la différence compte vraiment.
Borne de trait ou dyn Trait ? Dispatch statique et dynamique comparés
Les génériques avec borne de trait compilent en dispatch statique ; dyn Trait compile en lookup de vtable. Ce que chacun coûte, et comment trancher.
Trait Bounds
Utilisation des trait bounds en Rust pour la sécurité de type et les performances dans les calculs mathématiques
Rust Traits vs. Interfaces Java/C# : Comportement partagé bien fait
Discussion sur les traits Rust vs les interfaces Java/C#, couvrant les mécanismes de dispatch, le comportement pendant la compilation, et les optimisations de performance.