La désallocation d’éléments comme des structures de données complexes peut prendre du temps,
alors une astuce consiste à transférer la structure vers un thread séparé pour y effectuer la libération de mémoire, afin d’améliorer les performances (en pratique, la latence)
→ Dans le cas d’une HashMap contenant 1 million de clés, l’effet observé est un fonctionnement environ 10a0000 fois plus rapide
2 commentaires
En voyant dans ce post qu’un lien vers Rust Playground était présent — https://play.rust-lang.org/?version=stable&mode=debug&edition=…
je me suis demandé si c’était un GitHub Gist, et après vérification, c’est bien le cas — https://gist.github.com/rust-play/e6036d23879b0d0abda5196dfa8a131e
J’imagine que lorsqu’on appuie sur le bouton de partage dans le Playground, c’est conçu pour être automatiquement enregistré dans un GitHub Gist.
Comme créer un thread à chaque fois qu’on fait ce genre de chose peut être inefficace, voici
defer_drop, qui applique cette astuce et en fait directement une cratehttps://docs.rs/defer-drop/1.0.0/defer_drop/