Q

Quản trị viên

Là một lập trình viên yêu công nghệ, thích viết blog để chia sẻ kiến thức, kinh nghiệm lập trình và những điều thú vị trong thế giới tech.

2272 bài viết · Website
Lập trình Go 22/09/2026 11 phút

Tiny allocator của Go: gộp object nhỏ để một byte chỉ tốn một byte

Object tí hon rất phổ biến nhưng cấp mỗi cái một slot 8-16 byte quá phí. Tiny allocator gộp object dưới 16 byte không con trỏ vào chung khối 16B. Đo thật: object 1-byte nén xuống đúng 1.0 B mỗi cái (thắng 8 lần), nhưng cùng cỡ mà có con trỏ thì không được gộp. Go 1.23.

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

Middleware chain trong Go: xâu chuỗi xử lý HTTP bằng hàm bậc cao, gần như không tốn phí

Middleware trong Go là hàm func(http.Handler) http.Handler, xâu chuỗi được thành lớp xử lý HTTP kiểu củ hành. Đo thật trong Go 1.23: thứ tự thực thi vào-ra, middleware short-circuit dừng chuỗi, và một Chain combinator — 5 lớp middleware gần như không thêm chi phí vì chuỗi dựng một lần lúc khởi tạo.

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

Stop-the-world trong Go: GC còn dừng chương trình ở đâu, và bao lâu

GC Go dừng toàn bộ chương trình ở đúng hai điểm mỗi chu kỳ để chuyển pha an toàn. Đo thật: STW chỉ vài chục tới vài trăm micro-giây, tăng nhẹ từ 39 us (100 goroutine) lên 161 us (100k) nhưng luôn dưới 1 ms kể cả nửa triệu goroutine. Vì sao vẫn cần STW và điều gì làm nó dài ra. Go 1.23.