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

False sharing trong Go: hai biến không liên quan mà làm chậm nhau 30 lần

Tám goroutine tăng tám counter riêng, không chia sẻ dữ liệu — nhưng chậm 30 lần vì chúng nằm chung một cache line. Đo thật: 830 ms so với 27.5 ms sau khi chèn đệm để mỗi counter chiếm một cache line 64 byte. Cơ chế cache coherency và khi nào cần thêm padding. Go 1.23.

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

GC tricolor mark-sweep của Go: gom rác mà chỉ dừng chương trình 62 micro-giây

Bộ thu gom rác của Go chạy đồng thời với chương trình, dùng ba màu để đánh dấu object sống. Đo thật: 10 chu kỳ GC chỉ dừng chương trình tổng 0.62 ms (62 micro-giây mỗi lần), trong khi công việc nền chạy 111 triệu lần. Cơ chế tricolor và write barrier. Go 1.23.