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

Khi 'perf' báo Operation not permitted mà vẫn đo được branch-miss

Người ta bảo muốn biết cache-miss hay branch-miss thật thì phải có perf và bộ đếm phần cứng. Máy tôi đo thì perf còn chẳng chạy — VM khóa luôn PMU. Vậy mà chỉ với một cái đồng hồ và một thí nghiệm đổi đúng một biến, branch-miss vẫn hiện ra rõ mồn một, chậm gần 7 lần.

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

Benchmark của bạn đang nói dối: bốn cách bạn tự lừa mình khi đo tốc độ

Viết một vòng lặp, bọc đồng hồ hai đầu, chia cho số phần tử — nghe là xong. Nhưng cùng một đoạn code, tôi đo được 0 nano-giây (nhanh vô hạn), rồi 0,57, rồi 2,62 ns, tùy vào những cái bẫy mà trình biên dịch giăng sau lưng. Chỉ một cách đo là ra con số thật.

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

Đo, đừng đoán — điều duy nhất tôi muốn bạn giữ lại

Khép lại sê-ri 45 bài đo kiến trúc máy tính. Nếu quên hết mọi con số, chỉ cần nhớ một câu: đừng tin trực giác về hiệu năng, hãy viết một phép đo và chạy nó trên chính máy mình. Vì cùng một thao tác có thể nhanh chậm khác nhau chục đến nghìn lần, và mỗi cỗ máy lại một khác.