12 pontos por xguru 2020-05-31 | 2 comentários | Compartilhar no WhatsApp

Como desalocar algo como uma estrutura de dados complexa pode levar bastante tempo,

uma dica é mover a estrutura para uma thread separada para cuidar da liberação de memória e assim melhorar a velocidade (na prática, a latência)

→ no caso de um HashMap com 1 milhão de chaves, o efeito é de um funcionamento cerca de 10 mil vezes mais rápido

2 comentários

 
ryuheechul 2020-05-31

Ao ver que o Rust Playground estava linkado nesse post - https://play.rust-lang.org/?version=stable&mode=debug&edition=…

fui procurar achando que talvez fosse um GitHub Gist, e era mesmo - https://gist.github.com/rust-play/e6036d23879b0d0abda5196dfa8a131e

Aparentemente, quando se aperta o botão de compartilhar no Playground, ele deve ter sido feito para salvar automaticamente em um GitHub Gist.

 
xguru 2020-05-31

Sempre que se cria uma thread para fazer algo assim, o código pode ficar ineficiente, então veja esta dica e use logo o defer_drop, que já foi transformado em crate.

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