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 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.