Điều gì là nhanh hơn và những gì không phải là điều gì đó đang trở nên khó dự đoán mỗi ngày. Lý do là bộ vi xử lý không còn đơn giản và với tất cả các động lực phức tạp và thuật toán đằng sau chúng tốc độ cuối cùng có thể tuân theo các quy tắc hoàn toàn phản trực giác.
Cách duy nhất là chỉ đo lường và quyết định. Cũng lưu ý rằng những gì là nhanh hơn phụ thuộc vào các chi tiết nhỏ và thậm chí cho CPU tương thích một tối ưu hóa cho một có thể là một bi quan cho người kia là gì. Đối với các phần rất quan trọng, một số phần mềm chỉ cố gắng và kiểm tra thời gian cho các cách tiếp cận khác nhau tại thời gian chạy trong khi khởi tạo chương trình.
Điều đó nói rằng, như quy tắc chung, số nguyên nhanh hơn bạn có thể có là int
. Bạn chỉ nên sử dụng các số nguyên khác nếu cần chúng một cách cụ thể (ví dụ: nếu long
lớn hơn và bạn cần độ chính xác cao hơn hoặc nếu short
nhỏ hơn nhưng đủ và bạn cần phải tiết kiệm bộ nhớ).
Thậm chí tốt hơn nếu bạn cần kích thước cụ thể, sau đó sử dụng loại tiêu chuẩn cố định hoặc thêm typedef
thay vì chỉ rắc khoảng long
nơi bạn cần. Bằng cách này nó sẽ được dễ dàng hơn để hỗ trợ các trình biên dịch và kiến trúc khác nhau và cũng có ý định sẽ rõ ràng hơn cho bất cứ ai sẽ đọc mã trong tương lai.
Trên Windows, 'long' là 32 bit. Trên Linux, 'long' là 64 bit. Điều đó phá vỡ rất nhiều ứng dụng. – Mysticial
Liên quan: [Sự khác biệt giữa một int và một dài trong C++ là gì?] (Http://stackoverflow.com/q/271076/11343) – CharlesB