Lập trình Go 22/09/2026 11 phút

Generics vs interface trong Go: chi phí thật nằm ở stencil và dictionary

Generics của Go dùng GC shape stenciling: kiểu giá trị sinh mã riêng, mọi con trỏ chung một stencil và phân biệt bằng dictionary lúc chạy. Đo thật trong Go 1.23 bằng benchmark bốn đường thực thi và soi bảng ký hiệu — 4 kiểu chỉ sinh 3 bản mã, generic method nhanh gần gấp đôi interface.

Lập trình 22/09/2026 7 phút

zstd và từ điển: nén nghìn bản ghi JSON nhỏ từ 1.3x lên 4.4x

Nén từng bản ghi nhỏ riêng lẻ (cache entry, message, log record ~200 byte) cho tỉ lệ tệ hại vì mỗi lần nén bắt đầu từ số 0. Bài này đo thật trên 3000 JSON nhỏ: nén riêng không từ điển chỉ được 1.3x, nhưng huấn luyện một từ điển 8KB bằng zstd --train rồi nén với nó đạt 4.4x — cải thiện 3.5 lần. Vì sao, và khi nào từ điển là công cụ đúng.