Avatar ·

Comment mesurer correctement les performances (benchmarking) des programmes en Rust ?

Bonjour à tous ! Je suis débutant en Rust et j'essaie de comprendre comment mesurer correctement les performances de mes programmes. Dans d'autres langages (par exemple Python ou JavaScript), j'utilisais simplement les timers ou modules intégrés, mais en Rust tout s'est avéré plus compliqué. J'ai écrit une fonction simple qui additionne les éléments d'un vecteur, et je veux savoir combien de temps elle prend : ```rust fn sum_vec(vec: &Vec) -> i32 { let mut sum = 0; for i in vec { sum += i; } sum } fn main() { let data = vec![1; 1_000_000]; // Comment mesurer le temps d'exécution de sum_vec(&data) ? println!("Sum: {}", sum_vec(&data)); } ``` J'ai essayé d'utiliser `std::time::Instant`, mais j'obtiens des résultats étranges : parfois 0 microsecondes, parfois des valeurs très différentes lors des exécutions répétées.