http://en.wikipedia.org/wiki/Binary_GCD_algorithmBinary GCD Thuật toán so với Euclid của thuật toán trên máy tính hiện đại
Wikipedia này có một ý nghĩa rất dissatisfying: thuật toán nhị phân GCD là cùng một lúc càng nhiều càng tốt 60% hiệu quả hơn so với tiêu chuẩn Euclid Thuật toán, nhưng như cuối năm 1998 Knuth kết luận rằng chỉ có 15% đạt được hiệu quả trên các máy tính hiện đại của mình.
Còn 15 năm nữa đã trôi qua ... làm thế nào để hai thuật toán này ngăn xếp ngày hôm nay với những tiến bộ trong phần cứng?
GCD nhị phân tiếp tục hoạt động tốt hơn Thuật toán Euclide ở các ngôn ngữ cấp thấp nhưng yếu dần sau sự phức tạp của nó ở các ngôn ngữ cấp cao hơn như Java? Hay là sự khác biệt trong việc tính toán hiện đại?
Tại sao tôi quan tâm bạn có thể yêu cầu? Tôi chỉ như vậy xảy ra phải xử lý như 100 tỷ trong số này ngày hôm nay :) Đây là một bánh mì nướng để sống trong một kỷ nguyên của máy tính (nghèo Euclid).
Bạn có thể có một băng ghế dự bị để kiểm tra chúng, chỉ trong một cho vòng lặp (ví dụ kích thước 1000) tạo danh sách các số ngẫu nhiên, và sau đó cho tất cả các cặp số nhị phân tính toán và trong vòng lặp tính toán euclid gcd, vấn đề? IMO, Vẫn còn trong máy tính hiện đại nhị phân nên nhanh hơn đặc biệt với số lượng lớn hơn. –
Tôi có thể, và điều đó sẽ khá đại diện cho một ngôn ngữ cụ thể trên một bộ xử lý cụ thể trên một hệ điều hành cụ thể. Đây là một hoạt động số đủ phổ biến mà tôi đã tò mò hơn thường những gì các giải pháp ưa thích trong các ứng dụng hiệu suất cao ngày hôm nay. – jkschneider
Nếu bạn phải làm 100 tỷ ngày hôm nay, bất kỳ thời gian nào tranh luận giải pháp hiệu quả nhất sẽ khiến bạn mất nhiều thời gian hơn là chỉ cần thực hiện một hoặc cái kia. –