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

Tổng kết Go chuyên sâu: bản đồ 132 bài và hai con số gói lại cả sê-ri

Kết thúc 132 bài đo thật về runtime, hiệu năng và hệ thống Go. Bài này vẽ bản đồ toàn sê-ri theo tám chủ đề, và đo một benchmark tổng hợp gói lại hai bài học lớn nhất: stack nhanh hơn heap 14,5 lần với 0 cấp phát, và thêm core giúp thật nhưng dưới tuyến tính (10 core chỉ nhanh 4,6x). Cùng cách tư duy đọng lại sau tất cả.

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

Coverage nâng cao trong Go: đo phủ theo hàm, và vì sao 100% không đủ

go test -cover cho một con số tổng, nhưng không nói phần nào chưa phủ. go tool cover -func chỉ ra chính xác hàm/nhánh nào yếu để thêm test. Và cạm bẫy lớn nhất: 100% phủ dòng không bằng test tốt. Đo thật: coverage 75% lên 87.5% có mục tiêu, và một test 100% phủ dòng vẫn để lọt bug giá âm -500.

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

CAS và cấu trúc lock-free trong Go: một stack không khóa, và sự thật rằng nó chậm hơn mutex

Xây một stack lock-free bằng vòng lặp Compare-And-Swap. Đo thật: nó đúng đắn (10000 phần tử không mất, -race sạch) nhưng dưới tranh chấp cao lại chậm hơn mutex ~3,5 lần vì bão retry. Giá trị của lock-free là bảo đảm tiến triển, không phải tốc độ. Go 1.23.

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

Bounds check elimination trong Go: đo thật và vì sao chiêu reslice có thể phản tác dụng

Mỗi truy cập slice phải kiểm biên để an toàn bộ nhớ; compiler xoá check khi chứng minh được chỉ số hợp lệ. Đo thật: vòng range và i<len(xs) đã 0 check sẵn, nhưng check biên hiện đại rất rẻ (~0,05 ns) — và chiêu reslice để gợi ý BCE ở đây còn chậm hơn. Go 1.23.