2012-09-01 50 views
13

Tôi hầu hết đã làm việc trên các hệ thống nhúng 32 bit, nơi thường nhanh hơn khi sử dụng các loại 32 bit gốc (int, float) so với 16bit tương đương. Sự chậm lại đến từ các bộ vi xử lý mở rộng bất kỳ số 16bit đến 32bit trước khi thực hiện các hoạt động trên nó.Ứng dụng 32 bit có chạy nhanh hơn hoặc chậm hơn trên hệ điều hành 64 bit không?

Bây giờ tôi đã chuyển sang PC và hệ điều hành 64 bit. Câu hỏi của tôi là - làm loại 32bit gây ra bất kỳ sự chậm lại trên máy 64bit?

Ví dụ: nếu tôi xây dựng MyApp.exe dưới dạng ứng dụng 32 bit, nó có chạy chậm hơn trên hệ điều hành 64 bit hoặc nhanh hơn không?

Tôi hiểu rằng có nhiều yếu tố liên quan đến hiệu suất của ứng dụng và tôi cố tình loại trừ các yếu tố đó khỏi câu hỏi (tốc độ IO, bộ nhớ nhanh hơn, v.v.).

+1

Yếu tố * là gì bạn bao gồm? –

+0

Tôi đã suy nghĩ về thực thi CPU của 32bit so với ops 64bit. Nhưng Nate C-K làm cho một điểm tốt về thời gian truy cập RAM khi bạn có nhiều mã hơn. –

Trả lời

8

Đôi khi các ứng dụng 32 bit chạy nhanh hơn, đôi khi chúng chạy chậm hơn. Có rất nhiều yếu tố cạnh tranh ảnh hưởng đến hiệu suất. Nói chung sự khác biệt trong hai hướng không phải là rất lớn.

Tôi không thấy cách bạn có thể loại trừ một cách hợp pháp bất kỳ yếu tố nào từ việc cân nhắc hiệu suất, bởi vì hiệu suất luôn xảy ra trong thế giới thực nơi tất cả các yếu tố đều đang được phát. Tốc độ không phải là lý thuyết và không thể được xử lý trong sự cô lập.

Dưới đây là một bài báo mà tác giả đã làm một số điểm chuẩn:

http://www.osnews.com/story/5768

Ông thấy rằng những chương trình 32-bit là nhanh hơn trong các thử nghiệm của mình. Đó là trên SPARC vào đầu năm 2004.

Dưới đây là một bài viết năm 2010 so với Intel về việc chuyển sang các ứng dụng 64-bit:

http://software.intel.com/en-us/articles/moving-from-32-bit-applications-to-64-bit-applications-en/

Theo bài báo này, mã nhị phân 64-bit có thể giver bạn nhanh toán , vì vậy mã toán nặng phải nhanh hơn nếu được tối ưu hóa chính xác. Nếu không, mã 64-bit của bạn có thể chậm hơn, đặc biệt vì nó chiếm nhiều bộ nhớ hơn và điều này có thể dẫn đến mất nhiều thời gian hơn để truy cập RAM (nhớ cache thường xuyên hơn).

Các vấn đề liên quan