Trình biên dịch 03/09/2026 8 phút

Đoạn kiểm tra tràn của tôi báo 'an toàn' đúng lúc số đã âm — và nó chết ngay ở -O0

Kiểm tra tràn signed 'x+100 < x' bị trình dịch xóa thành return 0 — ngay ở -O0, không đợi -O2 như tôi tưởng. Còn unsigned thì quấn vòng đoán được, giữ nguyên phép so sánh. Đọc assembly thật để thấy vì sao bạn không được phát hiện tràn bằng chính phép tràn.

Hệ điều hành 03/09/2026 9 phút

Chuyển ngữ cảnh '15 micro giây' — con số tôi suýt tin, hóa ra đo nhầm sang một thứ hoàn toàn khác

Chuyển ngữ cảnh giữa hai tiến trình trên cùng một lõi tốn ~691 ns (đã gồm syscall pipe ~300 ns). Nhưng lần đầu không ghim lõi tôi đo ra 15.000 ns — vì hai tiến trình rơi vào hai lõi khác, chẳng có chuyển ngữ cảnh nào, tôi đo nhầm sang đánh thức xuyên lõi. Biến ẩn 'lõi nào chạy' đổi cả đại lượng.