Avatar ·

Wie man die Leistung (Benchmarking) von Rust-Programmen richtig misst

Hallo zusammen! Ich bin neu in Rust und versuche zu verstehen, wie man die Leistung seiner Programme richtig misst. In anderen Sprachen (z.B. Python oder JavaScript) habe ich einfach eingebaute Timer oder Module verwendet, aber in Rust erwies sich alles als komplizierter. Ich habe eine einfache Funktion geschrieben, die Elemente in einem Vektor summiert, und möchte wissen, wie lange sie braucht: ```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]; // Wie misst man die Ausführungszeit von sum_vec(&data)? println!("Sum: {}", sum_vec(&data)); } ``` Ich habe versucht, `std::time::Instant` zu verwenden, aber ich bekomme seltsame Ergebnisse: manchmal 0 Mikrosekunden, manchmal stark abweichende Werte bei wiederholten Ausführungen.