Kepercayaan yang telah lama dipegang dalam kalangan pengaturcara ialah pengiraan integer adalah sememangnya lebih pantas daripada pengiraan titik terapung. Walau bagaimanapun, andaian ini mungkin tidak lagi sesuai untuk pemproses berbilang teras moden.
Untuk menilai kelajuan relatif pengiraan integer dan titik terapung pada pelbagai seni bina CPU, mari kita selidiki ke dalam beberapa data:
64-bit Intel Xeon X5550 @ 2.67GHz, gcc 4.1.2 -O3:
short add/sub: 1.005460 [0] short mul/div: 3.926543 [0] long add/sub: 0.000000 [0] long mul/div: 7.378581 [0] long long add/sub: 0.000000 [0] long long mul/div: 7.378593 [0] float add/sub: 0.993583 [0] float mul/div: 1.821565 [0] double add/sub: 0.993884 [0] double mul/div: 1.988664 [0]
32-bit Dual Core AMD Opteron(tm) Processor 265 @ 1.81GHz, gcc 3.4.6 -O3:
short add/sub: 0.553863 [0] short mul/div: 12.509163 [0] long add/sub: 0.556912 [0] long mul/div: 12.748019 [0] long long add/sub: 5.298999 [0] long long mul/div: 20.461186 [0] float add/sub: 2.688253 [0] float mul/div: 4.683886 [0] double add/sub: 2.700834 [0] double mul/div: 4.646755 [0]
Keputusan ini menunjukkan bahawa, pada seni bina ini, jurang prestasi antara integer dan operasi titik terapung adalah agak kecil. Dalam sesetengah kes, pengiraan titik terapung malah boleh menjadi lebih pantas daripada operasi integer, terutamanya untuk jenis data yang lebih panjang seperti 'long long'.
Beberapa faktor mempengaruhi prestasi titik terapung dan pengiraan integer:
Untuk menguji dengan tepat prestasi pengiraan titik terapung dan integer pada perkakasan sasaran tertentu , gunakan langkah berikut:
Walaupun pengiraan integer dahulunya jauh lebih pantas daripada pengiraan titik terapung, jurang itu telah ditutup dengan ketara pada perkakasan moden. Seni bina superscalar, FPU khusus dan perpustakaan titik terapung yang cekap telah menjadikan operasi titik terapung setanding dalam kelajuan dengan operasi integer. Oleh itu, adalah penting untuk menilai perkakasan dan beban kerja tertentu sebelum menganggap bahawa pengiraan integer sememangnya lebih pantas.
Atas ialah kandungan terperinci Adakah Pengiraan Integer Masih Lebih Cepat Daripada Pengiraan Titik Terapung pada Perkakasan Moden?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!