Tag: memory

21 รายการ

Blog

อิกัวนาต้นฉบับตัดริบบิ้นข้อมูลตรงหมุดเดี่ยวและเก็บถาดว่างไว้ตรงตำแหน่งเดิม
zigparsermemory

Zig splitScalar: เก็บช่องว่างใน CSV เล็ก ๆ ไม่ให้ข้อมูลเลื่อน

ใช้ std.mem.splitScalar แยก field ด้วย delimiter หนึ่งไบต์โดยรักษาช่องว่าง พร้อม zig test ตรวจ missing และ extra fields

พี่โชว์
อิกัวนาต้นฉบับตัดริบบิ้นข้อมูลตรงหมุดคู่สีอำพัน โดยปล่อยหมุดเดี่ยวให้ผ่านไป
zigmemoryparser

Zig tokenizeSequence: แยกข้อมูลด้วย delimiter หลายไบต์แบบไม่ตัดกลาง

ใช้ std.mem.tokenizeSequence แยก record ด้วย delimiter ทั้งชุด ข้ามช่องว่างซ้ำ และทดสอบ edge case ด้วย zig test

พี่โชว์
ชั้นวางร้านคอมพิวเตอร์ที่เกือบว่าง มีกล่องโน้ตบุ๊กเหลือไม่กี่กล่อง โน้ตบุ๊กทั่วไปเปิดอยู่ และตาชั่งทองเหลืองที่แรมหนึ่งแท่งหนักกว่ากองเหรียญ พร้อมป้ายราคาเปล่าสีอำพัน
pclaptopprice

ยอดส่งคอมลด 20.1% แต่คนรอซื้อโน้ตบุ๊กอาจไม่ได้ของถูก

ยอดส่งคอมทั่วโลกลดแรง แต่ต้นทุนหน่วยความจำยังสูง แยกตัวเลข IDC กับ Omdia และชวนวางงบซื้อ ซ่อม หรือรอโปร โดยไม่เดาราคาไทย

น้องกาย
อิกัวนาต้นฉบับวัดรางชิ้นงานก่อนเปลี่ยนก้อนสั้นเป็นก้อนยาวในถาดขนาดพอดี
zigmemorystrings

Zig std.mem.replace: คำนวณขนาดก่อนแทนข้อความโดยไม่เดา buffer

ใช้ replacementSize คู่กับ replace เพื่อจองปลายทางพอดี ตรวจจำนวนครั้ง และกัน output โตเกินเพดาน

พี่โชว์
ปูสีส้มแดงต้นฉบับกำลังวางลูกบอลลงช่องว่างท้ายรางหน่วยความจำบนโต๊ะสีมิ้นต์
rustvecmemory

Rust Vec::spare_capacity_mut: เติม buffer ที่จองไว้โดยไม่สร้าง Vec ชั่วคราว

เรียนรู้ MaybeUninit, set_len invariant และ panic boundary ผ่านตัวอย่างเติมข้อมูลที่ทดสอบจริง

พี่โชว์
อิกัวนาต้นฉบับดึงถาดชิ้นส่วนจากปลายขวาของรางย้อนกลับทีละช่องบนโต๊ะมิ้นต์
zigmemoryiterator

Zig splitBackwardsSequence: แยก path จากด้านท้ายโดยไม่ reverse ข้อมูล

ใช้ std.mem.splitBackwardsSequence ดึงชื่อไฟล์และโฟลเดอร์จากท้าย slice พร้อมรู้ empty field, delimiter หลายไบต์ และ lifetime

พี่โชว์
กระรอกดินต้นฉบับค่อย ๆ ดึงแถบกระดาษที่แบ่งเป็นท่อนโดยเก็บหมุดคั่นไว้ปลายแต่ละท่อน
gogolangstrings

Go strings.SplitAfterSeq: แบ่งข้อความแบบ iterator โดยเก็บตัวคั่นไว้

ใช้ SplitAfterSeq อ่าน record ทีละส่วนโดยไม่สร้าง slice ทั้งก้อน พร้อมทดสอบ empty separator, single-use iterator และ ownership ของ substring

พี่โชว์
กระรอกดินต้นฉบับกำลังขยายถาดชิ้นงานแล้วตัดพื้นที่สำรองส่วนเกินบนโต๊ะสีมิ้นต์
gogolangslices

Go slices.Grow กับ Clip: จองความจุให้พอ แล้วคืนส่วนเกินตรงขอบงาน

ใช้ slices.Grow ลดการขยาย backing array ซ้ำ และ slices.Clip ตัด capacity ก่อนส่งข้อมูลข้าม boundary พร้อม Go tests ที่รันจริง

พี่โชว์
กระรอกดินต้นฉบับกำลังต่อถาดข้อมูลสามใบเข้ารางใหม่บนโต๊ะสีมิ้นต์ โดยถาดต้นทางยังวางแยกอยู่
goslicesstdlib

Go slices.Concat: รวมหลาย slice โดยไม่ผูกผลลัพธ์กับ backing array เดิม

ใช้ slices.Concat รวมข้อมูลหลายก้อน พร้อมทดสอบ aliasing, capacity และกรณีที่ append เดิมอ่านยาก

พี่โชว์
ปูสีส้มแดงต้นฉบับกำลังคลี่สายพานวงแหวนสองช่วงให้กลายเป็นแถวเดียวบนโต๊ะทำงานสีมิ้นต์
rustvecdequecollections

Rust VecDeque::make_contiguous: เปิด ring buffer เป็น slice ก่อน sort

ทำให้ข้อมูลใน VecDeque ต่อเนื่องในหน่วยความจำเพื่อ sort หรือส่งต่อ API ที่รับ slice พร้อมเข้าใจต้นทุนการย้าย

พี่โชว์
อิกัวนาต้นฉบับกำลังหมุนถาดแบ่งช่องสีเขียวให้ข้อมูลสองช่องหน้าเลื่อนไปท้าย
zigstdlibmemory

Zig std.mem.rotate: หมุน slice in-place สำหรับคิวแบบวงแหวน

เข้าใจทิศทาง amount, ค่าเกินความยาว และ trade-off ของการหมุนข้อมูลจริงเทียบกับเก็บ head index

พี่โชว์
งูต้นฉบับกำลังแบ่งด้ายจากหลอดเดียวเป็นสองทาง โดยทางช้าค่อย ๆ มีกองด้ายสำรองสะสม
pythonitertoolsiterators

Python itertools.tee: แยก iterator ได้ แต่ต้องรู้ว่า buffer โตตรงไหน

อธิบาย shared source, backlog เมื่อ consumer วิ่งไม่เท่ากัน และวิธีเลือก list หรือ tee ให้ตรงงาน

พี่โชว์
อีกัวนาต้นฉบับหมุนแถวลูกปัดสีเขียวให้กลับทิศบนโต๊ะมิ้นต์
zigmemoryslices

Zig std.mem.reverse: กลับลำดับในที่เดิม พร้อมเข้าใจ slice และ mutation

ทดลอง reverse slice แบบ in-place ใน Zig 0.16 และระวังเรื่องข้อมูลต้นฉบับถูกแก้

พี่โชว์
โต๊ะไม้มีแสงแดด มือถือเรียบไร้ตรา วางข้างกองแรมสีเขียวและป้ายราคาว่างขอบสีอำพัน พื้นหลังเป็นชั้นเซิร์ฟเวอร์ศูนย์ข้อมูลโทนเขียวอมฟ้า
memorysmartphoneprices

มือถือแพงขึ้นสูงสุด 17% ในอินเดีย: เมื่อ AI แย่งกำลังผลิตแรม กระเป๋าเราต้องจ่ายด้วย

RAMageddon คืออะไร ทำไมมือถือ โน้ตบุ๊ก และเครื่องเกมเจอต้นทุนแรมแพง เจาะข่าว Galaxy S26 อินเดียที่ราคาไม่ตรงกัน พร้อมวิธีเลือกซื้อให้คุ้มสำหรับคนไทย

พี่โชว์
งูต้นฉบับกำลังดูแลชั้นเก็บของที่ช่องหนึ่งค่อย ๆ ว่างเมื่อเจ้าของยกกล่องออกไป
pythoncachememory

Python WeakValueDictionary: ทำ cache ที่ไม่ยื้ออายุ object

ใช้ weak reference ให้ cache ปล่อยค่าเมื่อไม่มีเจ้าของจริง พร้อมอธิบาย race และชนิดที่เก็บไม่ได้

พี่โชว์
ห้องเก็บลิ้นชักสีเขียวเข้มเชื่อมโต๊ะทำงานด้วยด้ายหลายเส้น โดยด้ายสีอำพันหนึ่งเส้นผูกผิดช่อง
grokaimemory

Grok Build มี Memory ข้าม Session: จำ Convention ได้ แต่ต้องกันความจำปนเปื้อน

สรุป memory แบบ topic markdown ของ Grok Build, คำสั่ง /memory และ /dream พร้อมแนวทาง review, secret hygiene และอายุข้อมูล

พี่โชว์
กระรอกดินต้นฉบับคัดของชิ้นเล็กจากสายพานลงถาดเฉพาะขนาด ก่อนส่งก้อนใหญ่ไปอีกทาง
goruntimememory

Go 1.27 แยกทางด่วนให้ Allocation ก้อนเล็ก: เร็วขึ้นโดยไม่ต้องแก้โค้ด

เจาะกลไก size-specialized allocation ของ Go 1.27 ว่าทำไมก้อนต่ำกว่า 80 ไบต์เร็วขึ้น และจุดไหนยังควรลด allocation เอง

พี่โชว์
แถบอ็อบเจ็กต์กว้างเทียบแถบแคบบนการ์ดมิ้นต์มีจุดอำพันด้านล่าง
javajdkjep-534

JDK 27: JEP 534 เปิด Compact Object Headers เป็นค่าเริ่มต้น

หลัง GA — เฮดเดอร์อ็อบเจ็กต์บน 64-bit เหลือ 64 บิตเป็นค่าเริ่มต้น ลดฮีปและเพิ่ม locality; ปิดด้วย -XX:-UseCompactObjectHeaders ถ้าจำเป็น

น้องกาย
งูต้นฉบับเลื่อนลูกปัดเหตุการณ์ผ่านรางห้าช่อง โดยลูกปัดเก่าสุดตกลงถาดเมื่อของใหม่เข้ามา
pythoncollectionsdeque

Python deque(maxlen): เก็บประวัติล่าสุดโดยไม่ปล่อยหน่วยความจำโตไม่จบ

ใช้ collections.deque แบบกำหนด maxlen ทำ rolling window ที่ทิ้งของเก่าอัตโนมัติ พร้อมเทสต์ลำดับและขอบเขต

พี่โชว์
โต๊ะมิ้นต์มีกล่องอ็อบเจ็กต์สองขนาดเปรียบหัวอ็อบเจ็กต์ที่เล็กลง
javajdkjep

JEP 534: Compact Object Headers เป็นค่าเริ่มต้นใน JDK 27

สรุป JEP 534 ที่ทำให้ compact object headers เป็นค่าเริ่มต้นใน HotSpot ของ JDK 27 พร้อมวิธีปิดถ้าจำเป็น

น้องกาย
ภาพกองบล็อกแคชโปร่งใสจำนวนมากถูกจัดให้แน่นเป็นก้อนเล็กลงบนแผนที่เครือข่ายสีเขียว สื่อถึงการลดหน่วยความจำของ DNS cache
rustperformancememory

Rust ลด RAM ให้ DNS Cache: บทเรียนจาก 250,000 ล้านรายการของ Cloudflare

แกะ 5 แนวคิดลด memory footprint จากระบบ DNS ของ Cloudflare พร้อมตัวอย่าง Rust ที่ทดสอบจริงว่าโครงสร้างแบบ growable กับ frozen layout ต่างกันอย่างไร

พี่โชว์