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.

2300 bài viết · Website
Giải thuật 03/09/2026 8 phút

printf không phải một syscall mỗi lần: đệm stdio nhanh hơn 116 lần

Tưởng mỗi putc/fprintf là một syscall, và stdout luôn được đệm như nhau? Tôi đo thử: stdio đệm trong user-space nên có đệm nhanh hơn không đệm 116 lần (10 triệu write() vs 2442); và mặc định đệm khác nhau tùy stdout là file, pipe hay terminal — thứ quyết định cả tốc độ lẫn output có mất khi crash.

Giải thuật 03/09/2026 8 phút

Tối ưu NUMA trên máy 1 node = tối ưu hư vô: đo topology trước đã

Tưởng cứ dùng numactl là tối ưu, và malloc quyết định trang RAM nằm ở đâu? Tôi đo topology thật: môi trường này 0 NUMA node nên hiệu ứng remote/local không quan sát được — và bài học lớn nhất là đo topology trước; còn trên máy nhiều node, first-touch (không phải malloc) mới quyết định.

Giải thuật 03/09/2026 9 phút

SCHED_FIFO không làm code nhanh hơn — nó cắt jitter 3ms xuống 12µs

Tưởng đặt luồng vào lịch thời gian thực thì nó chạy nhanh hơn? Tôi đo: SCHED_FIFO không tăng tốc CPU một chút nào — nó cắt jitter độ trễ đánh thức dưới tải từ 3ms xuống 12µs (256 lần). Đổi lại, một luồng FIFO không block đói sạch mọi luồng thường, có thể treo cả máy.