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

'Random Access Memory' mà truy cập ngẫu nhiên chậm 423 lần: sức mạnh prefetch

Tưởng truy cập RAM nào cũng như nhau (Random Access Memory), và prefetch chỉ giúp đọc stride 1? Tôi đo thử: duyệt mảng tuần tự 0,28ns/phần tử vs ngẫu nhiên 107ns — chênh 423 lần, vì prefetcher phần cứng chỉ đoán được mẫu ĐỀU; cái giết nó là tính không đoán được, không phải khoảng cách.