Rumah >pembangunan bahagian belakang >C++ >Adakah Terdapat Perbezaan Prestasi Antara `while (1)` dan `for(;;)` dalam Infinite Loops?
Sementara (1) vs. Untuk (;;) Perbandingan Kelajuan
Di tengah-tengah perbincangan yang rancak, persoalan timbul: Adakah sementara (1 ) laksanakan lebih pantas daripada untuk (;;) dalam gelung tak terhingga? Untuk menamatkan perdebatan, para peserta memulakan analisis terperinci.
Keputusan Perl dan GCC
Penyiasatan menyeluruh mendedahkan bahawa dalam Perl, kedua-dua binaan menjana opcode yang sama. Begitu juga, dalam GCC, kedua-duanya menyusun kepada arahan pemasangan yang sama. Oleh itu, dalam persekitaran ini, perbezaan kelajuan boleh diabaikan.
Kesimpulan
Pada teras perbahasan terletak dakwaan bahawa sementara (1) melakukan perbandingan yang tidak perlu ( 1 == 1). Walau bagaimanapun, seperti yang ditunjukkan oleh analisis opcode, perbandingan ini tidak berlaku.
Walaupun pilihan antara dua binaan gelung tak terhingga ini mungkin tidak mempunyai kesan yang ketara terhadap prestasi, adalah penting untuk diingat bahawa mengoptimumkan kod dalam gelung jauh lebih berkesan.
Atas ialah kandungan terperinci Adakah Terdapat Perbezaan Prestasi Antara `while (1)` dan `for(;;)` dalam Infinite Loops?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!