Lập trình 07/11/2026 6 phút

Rust đo thật — Vec và capacity: lớn dần bằng cách nhân đôi sức chứa (0→4→8→…→2048), nên chèn 1025 phần tử chỉ cần ~10 lần cấp phát chứ không phải 1025; ép grow-by-1 thì chậm gấp 4 lần, còn with_capacity biết trước cỡ thì nhanh nhất

Phần 6 sê-ri Rust đo thật: Vec<T> là mảng động, và cách nó lớn lên quyết định hiệu năng. Đo trong container rust 1.99.1: mỗi khi hết chỗ, Vec NHÂN ĐÔI sức chứa (cap 0→4→8→16→…→2048), nên chèn 1025 phần tử chỉ cần ~10 lần cấp phát thay vì 1025 — mỗi push thành O(1) khấu hao. Thú vị: trong 10 lần đổi capacity, bộ cấp phát chỉ thật sự DỜI vùng nhớ 2 lần, còn lại nới khối tại chỗ. So ba chiến lược chèn 200.000 phần tử: nhân đôi mặc định 0,35 ms, grow-by-1 1,41 ms — chậm gấp 4 lần, with_capacity 0,34 ms. Biết trước số phần tử thì luôn dùng with_capacity.