Tag: memory-management

4 รายการ

Blog

ภาพวาดโทนมิ้นต์สว่าง อิกัวนาตัวเล็กหย่อนการ์ดนับลงในช่องของชั้นไม้ที่มีช่องแคบเรียงกันหลายช่อง มีถาดใหญ่ใบเดียวรองอยู่ใต้ชั้น การ์ดใบหนึ่งเป็นสีอำพัน
zigworkshopcli

Zig Workshop #4: บั๊ก slice ที่ชี้ไปในอากาศ และวิธีแก้ด้วย arena

เก็บสถิติจาก log ที่อ่านมาแบบไม่ copy — สร้างบั๊ก dangling slice ขึ้นมาจริงแล้วแก้ด้วย arena interning, ใช้ getOrPut ให้ hash ครั้งเดียวแทนสามครั้ง, เรียง top-N ด้วย sort.pdq และให้ std.testing.allocator จับ leak ให้อัตโนมัติ

พี่โชว์
ภาพวาดโทนมิ้นต์สว่าง อิกัวนาตัวเล็กยืนเลือกภาชนะจากชั้นไม้ที่มีถาดใหญ่ใบเดียว ถังเล็ก กล่องช่องเท่ากันหลายช่อง และกระป๋องจิ๋ว กำลังยกถาดใหญ่ที่มีขอบสีอำพันลงมาใช้
zigtutorialmemory-management

Zig 0.16 บทที่ 9: เลือก allocator ให้ถูกงาน และของที่หายไปใน 0.16

สวนสัตว์ allocator ของ Zig 0.16 — arena ที่ทำให้โค้ดคืนหน่วยความจำหายไปเกือบหมด (วัดได้ว่าลดการขอจาก 50 ครั้งเหลือ 5), FixedBufferAllocator, MemoryPool, stackFallback พร้อมทางย้ายสู่ BufferFirstAllocator ใน 0.17, DebugAllocator vs smp_allocator และรายชื่อ allocator ที่ถูกลบทิ้งใน 0.16

พี่โชว์
ภาพวาดโทนมิ้นต์สว่าง อิกัวนาตัวเล็กใส่เอี๊ยมยืนหลังเคาน์เตอร์ไม้ ผลักกล่องไม้เปล่าที่มีป้ายเล็กสีอำพันติดอยู่ข้างฝาข้ามเคาน์เตอร์มาให้ ด้านหลังเป็นชั้นวางกล่องเปล่าหลายขนาด
zigtutorialmemory-management

Zig 0.16 บทที่ 8: allocator คืออะไร และใครเป็นเจ้าของหน่วยความจำ

หัวใจของ Zig คือไม่มี allocator ตั้งต้น — ทำความเข้าใจ interface ที่มีแค่สี่ฟังก์ชัน, ธรรมเนียมว่าใครเป็นเจ้าของผลลัพธ์, เขียน allocator ของตัวเองที่นับการใช้งานได้, และรายงาน leak จริงจาก DebugAllocator ที่ผมรันให้ดูทั้ง output และรหัสจบโปรแกรม

พี่โชว์
ภาพวาดโทนมิ้นต์สว่าง อิกัวนาตัวเล็กยกลังไม้ใบใหญ่ใบเดียวมาวางบนโต๊ะ แทนที่จะหยิบกล่องเล็กทีละใบจากกองที่เรียงยาวอยู่ด้านหลัง ลังใบใหญ่มีป้ายสีอำพันติดอยู่
zigperformancememory-management

Zig Optimization #2: การขอหน่วยความจำสองแสนครั้ง เหลือสองครั้ง

วัดจริงว่านิสัยขอหน่วยความจำที่ติดมาจาก Java, Go และ Python แพงแค่ไหนใน Zig — create ในลูปช้ากว่า arena 3 เท่า, การจองล่วงหน้าลดการขยายจากยี่สิบกว่ารอบเหลือศูนย์ และเคสที่ MemoryPool กลับไม่ชนะ arena เลยทั้งที่ทฤษฎีบอกว่าควรชนะ

พี่โชว์