12 Punkte von xguru 2020-05-31 | 2 Kommentare | Auf WhatsApp teilen

Da das Freigeben von Speicher bei komplexen Datenstrukturen lange dauern kann,

ein Tipp, die Datenstruktur an einen separaten Thread zu übergeben und dort die Speicherfreigabe zu erledigen, um die Geschwindigkeit (genauer gesagt die Latenz) zu verbessern

→ Bei einer HashMap mit 1 Million Schlüsseln ergibt sich ein Effekt von ungefähr 10.000-fach schnellerer Ausführung

2 Kommentare

 
ryuheechul 2020-05-31

Als ich in dem betreffenden Beitrag gesehen habe, dass ein Rust Playground verlinkt ist – https://play.rust-lang.org/?version=stable&mode=debug&edition=…

habe ich nachgeschaut, ob es ein GitHub Gist ist, und tatsächlich ist es so – https://gist.github.com/rust-play/e6036d23879b0d0abda5196dfa8a131e

Vermutlich ist es so umgesetzt, dass beim Klick auf den Teilen-Button im Playground automatisch in einem GitHub Gist gespeichert wird.

 
xguru 2020-05-31

Da Code, der dabei jedes Mal einen Thread erstellt, ineffizient sein kann, gibt es mit diesem Tipp gleich ein eigenes Crate daraus: defer_drop

https://docs.rs/defer-drop/1.0.0/defer_drop/