Adalah Perbandingan '<' Lebih pantas daripada '<='?
Dalam senario tertentu yang melibatkan kod gelung kompleks, telah dicadangkan bahawa '<' operator mungkin lebih pantas daripada operator '<='. Untuk menyiasat dakwaan ini, mari kita periksa kod mesin asas yang dijana untuk perbandingan ini.
Penjanaan Kod
Pada seni bina x86, perbandingan integral biasanya dilaksanakan menggunakan dua arahan mesin:
Untuk kedua-dua '<' dan perbandingan '<=', arahan pertama (a cmp) adalah sama. Perbezaannya terletak pada arahan kedua:
Masa Pelaksanaan
Masa pelaksanaan ditentukan oleh kedua-duanya kependaman dan daya tampung. Dalam kes arahan jge dan jg, mereka mempunyai kependaman kitaran sifar yang sama dan daya pemprosesan 0.5 kitaran. Ini bermakna mereka akan mengambil masa yang sama untuk melaksanakan.
Perbandingan Titik Terapung
Prinsip yang sama digunakan untuk perbandingan titik terapung x87 menggunakan arahan fucomip. Arahan seta dan setae yang digunakan untuk menyemak daftar EFLAGS juga mengambil masa yang sama untuk dilaksanakan.
Kesimpulan
Pada kebanyakan seni bina, '<' dan operator '<=' mempunyai masa pelaksanaan yang sama untuk perbandingan kamiran dan titik terapung. Andaian bahawa '<' mungkin lebih cepat adalah tidak betul dalam kes umum.
Atas ialah kandungan terperinci Adakah '. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!