12 คะแนน โดย xguru 2020-05-31 | 2 ความคิดเห็น | แชร์ทาง WhatsApp

การ dealloc โครงสร้างข้อมูลที่ซับซ้อนอาจใช้เวลานาน

จึงมีเคล็ดลับในการย้ายโครงสร้างไปยังเธรดแยกเพื่อจัดการคืนหน่วยความจำ ทำให้ประสิทธิภาพดีขึ้น (จริง ๆ คือ Latency ดีขึ้น)

→ ในกรณีของ HashMap ที่มีคีย์ 1 ล้านรายการ จะได้ผลลัพธ์ว่าทำงานเร็วขึ้นประมาณ 10,000 เท่า

2 ความคิดเห็น

 
ryuheechul 2020-05-31

พอเห็นว่าในโพสต์นั้นมีลิงก์ไปยัง Rust Playground - https://play.rust-lang.org/?version=stable&mode=debug&edition=…

ก็เลยลองค้นดูว่านี่คือ GitHub Gist หรือเปล่า แล้วก็ใช่จริง ๆ - https://gist.github.com/rust-play/e6036d23879b0d0abda5196dfa8a131e

ดูเหมือนว่าน่าจะทำไว้ให้เมื่อกดปุ่มแชร์ใน Playground แล้วระบบจะบันทึกไปยัง GitHub Gist โดยอัตโนมัติ

 
xguru 2020-05-31

ทุกครั้งที่ทำแบบนี้ โค้ดที่สร้างเธรดขึ้นมาทุกครั้งอาจไม่มีประสิทธิภาพนัก จึงมี defer_drop ที่ทำเป็น crate ไปเลยโดยอ้างอิงทิปนี้

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