Memory Management
Strategy | ข้อดี | ข้อเสีย |
---|---|---|
Manual (C) | - มีประสิทธิภาพ - ควบคุมได้อิสระ | - เกิดข้อผิดพลาดได้ง่าย - ต้องมีความเข้าใจเรื่อง memory ระดับหนึ่ง |
OBRM (Rust) / RAII (C++) | - มีประสิทธิภาพ - ควบคุมได้เกือบอิสระ - เกิดข้อผิดพลาดได้ยาก | - ต้องมีความเข้าใจเรื่อง memory ระดับหนึ่ง |
Automatic (JavaScript, Python, C#) | - เกิดข้อผิดพลาดได้ยาก - เป็นภาษาที่ใช้งานง่าย | - ไม่มีประสิทธิภาพ - ไม่มีความอิสระในการควบคุมการใช้หน่วยความจำ |
note
OBRM ย่อมาจาก Ownership Based Resource Management
note
RAII ย่อมาจาก Resource Acquisition Is Initialization
note
Garbage Collector (GC) คือระบบอัตโนมัติที่จัดการ memory ในโปรแกรม โดยจะทำหน้าที่คอยตรวจสอบและ "เก็บกวาด" หน่วยความจำที่ไม่จำเป็นต้องใช้อีกต่อไป