Việc dealloc những thứ như cấu trúc dữ liệu phức tạp có thể tốn nhiều thời gian,
nên có một mẹo là chuyển cấu trúc sang một luồng riêng để xử lý giải phóng bộ nhớ, qua đó cải thiện tốc độ (thực tế là độ trễ)
→ với HashMap có 1 triệu khóa, hiệu quả có thể nhanh hơn khoảng 10.000 lần
2 bình luận
Tôi thấy bài đăng đó có gắn liên kết Rust Playground - https://play.rust-lang.org/?version=stable&mode=debug&edition=…
Tôi tìm thử xem có phải GitHub gist không thì đúng là vậy - https://gist.github.com/rust-play/e6036d23879b0d0abda5196dfa8a131e
Có lẽ nó được làm theo cách là khi bấm nút chia sẻ trong Playground thì sẽ tự động lưu vào GitHub Gist.
Mỗi lần làm kiểu này mà lại tạo thread thì có thể kém hiệu quả, nên hãy tham khảo mẹo này và biến hẳn nó thành một crate là defer_drop
https://docs.rs/defer-drop/1.0.0/defer_drop/