Từ những gì tôi đã tìm thấy cho đến nay rõ ràng là các chương trình được biên dịch cho kiến trúc 64 bit sử dụng gấp đôi RAM cho con trỏ làm lựa chọn thay thế 32 bit - https://superuser.com/questions/56540/32-bit-vs-64-bit-systems.Chi phí sử dụng bộ nhớ cho ứng dụng 64 bit là bao nhiêu?
Điều đó có nghĩa là mã được biên dịch cho sử dụng 64 bit trung bình hai lần hơn RAM so với phiên bản 32 bit?
Tôi bằng cách nào đó nghi ngờ nó, nhưng tôi tự hỏi những gì thực sự là phí. Tôi cho rằng các loại nhỏ, như short
, byte
và char
có cùng kích thước trong kiến trúc 64 bit? Tôi không thực sự chắc chắn về byte
mặc dù. Do nhiều ứng dụng làm việc với các chuỗi lớn (như trình duyệt web, v.v.), bao gồm hầu hết các mảng char
trong hầu hết các triển khai, chi phí có thể không quá lớn.
Vì vậy, ngay cả khi các loại số như int
và long
lớn hơn trên 64 bit, liệu nó có ảnh hưởng đáng kể đến việc sử dụng RAM hay không?
'byte' là * không * loại tiêu chuẩn. Với C99 hoặc tốt hơn, hãy bao gồm '' sau đó sử dụng 'uint8_t' nếu bạn cần 8 byte" không được ký ". –
mức sử dụng bộ nhớ sẽ tăng, nhưng (hầu như) không bao giờ tăng gấp đôi –
Toàn bộ điểm tạo CPU mới với địa chỉ rộng hơn và bus dữ liệu là tăng tốc độ thực thi với chi phí kích thước chương trình và mức tiêu thụ RAM_. Đây là trường hợp từ 8 đến 16 đến 32 đến 64. Vì vậy, không có gì mới ở đây. – Lundin