Nếu bạn đang sử dụng bộ xử lý 64 bit và đã biên dịch mã cho 64 bit, thì ít nhất một thời gian, long
có thể hiệu quả hơn vì nó khớp với kích thước đăng ký. Nhưng liệu điều đó có thực sự tác động đến chương trình của bạn nhiều hay không là gây tranh cãi. Ngoài ra, nếu bạn đang sử dụng long
trên tất cả các địa điểm, bạn thường sẽ sử dụng nhiều bộ nhớ hơn - cả trên ngăn xếp và trên heap - điều này có thể tác động tiêu cực đến hiệu suất. Có quá nhiều biến để biết chắc chắn chương trình của bạn sẽ hoạt động tốt như thế nào bằng cách sử dụng long
theo mặc định thay vì int
. Có những lý do tại sao nó có thể nhanh hơn và lý do tại sao nó có thể chậm hơn. Nó có thể là một rửa tổng số.
Điều điển hình cần làm là chỉ sử dụng int
nếu bạn không quan tâm đến kích thước của số nguyên. Nếu bạn cần số nguyên 64 bit, thì bạn sử dụng long
. Nếu bạn đang cố gắng sử dụng ít bộ nhớ và int
nhiều hơn mức bạn cần, thì bạn sử dụng byte
hoặc short
.
x86_64 CPU sẽ được thiết kế để có hiệu quả trong việc xử lý các chương trình 32 bit và do đó không giống như việc sử dụng int
sẽ làm suy giảm nghiêm trọng hiệu suất. Một số điều sẽ nhanh hơn do căn chỉnh tốt hơn khi bạn sử dụng số nguyên 64 bit trên CPU 64 bit, nhưng những thứ khác sẽ chậm hơn do yêu cầu bộ nhớ tăng lên. Và có lẽ có nhiều yếu tố khác liên quan đến việc chắc chắn có thể ảnh hưởng đến hiệu suất theo một trong hai hướng.
Nếu bạn thực sự muốn biết điều gì sẽ làm tốt hơn cho ứng dụng cụ thể trong môi trường cụ thể của bạn, bạn sẽ cần phải cấu hình nó. Đây không phải là một trường hợp mà có một lợi thế rõ ràng của một trong những khác.
Cá nhân, tôi khuyên bạn nên đi theo tuyến đường điển hình khi sử dụng int
khi bạn không quan tâm đến kích thước của số nguyên và sử dụng các loại khác khi thực hiện.
Nguồn
2011-07-30 23:59:42
Re: câu đầu tiên: '[trích dẫn cần thiết]'. –
@Matt: Tôi có nghĩa là 'gần như' và' trên phần lớn những nơi mà những lang được sử dụng'. Tôi nghĩ đó không phải là một vấn đề lớn và ngụ ý. Và điều đó sẽ làm cho câu hỏi dài hơn nhiều mà không có nhiều lợi ích. Tôi có nên chỉnh sửa không? Nếu 'có', vui lòng đề xuất cách viết - Tôi không giỏi tiếng Anh –
Xem nhận xét trước. Nhưng có. Sử dụng loại mô tả tốt nhất miền - ví dụ: tại sao một 'long' được sử dụng để lưu trữ" ngày trong năm "? –