Pertanyaan yang ditandai dengan 'prediksi cabang'

Dalam arsitektur komputer, prediktor cabang adalah sirkuit digital yang mencoba menebak cabang mana (misalnya, struktur if-then-else) yang akan berjalan sebelum diketahui secara pasti. Tujuan dari prediksi cabang adalah untuk meningkatkan aliran dalam pipa instruksi. Prediktor industri memainkan peran penting dalam mencapai kinerja tinggi di banyak arsitektur mikroprosesor berbasis mikroprosesor modern, seperti x86.
26
balasan

Mengapa lebih cepat memproses array yang diurutkan daripada array yang tidak disortir?

Ini adalah bagian dari kode C ++ yang tampaknya sangat aneh. Untuk beberapa alasan aneh, mengurutkan data secara ajaib membuat kode hampir enam kali lebih cepat. #include <algorithm> #include <ctime> #include <iostream> int main () {// Ge ...
Ditetapkan pada 27 Juni '12 pada pukul 16:51
5
balasan

Mengapa (a * b! = 0) lebih cepat daripada (a! = 0 b! = 0) di Jawa?

Saya menulis beberapa kode di Jawa, di mana pada beberapa titik aliran program ditentukan oleh apakah dua variabel int "a" dan "b" adalah non-nol (catatan: a dan b tidak pernah negatif dan tidak boleh berada dalam integer angka melimpah ...
atur 21 Feb '16 jam 4:51
10
balasan

Apa efek memesan, jika ... lain, jika pernyataannya kemungkinan?

Secara khusus, jika saya memiliki serangkaian if ... else if statement, dan entah bagaimana saya tahu sebelumnya probabilitas relatif yang akan dievaluasi oleh masing-masing operator, berapa perbedaan dalam runtime yang diurutkan menurut urutan probabilitas? ...
atur 19 Oktober. '17 pada 18:17
7
balasan

Apakah ada petunjuk kompiler untuk gcc agar prediksi cabang selalu berjalan dengan cara tertentu?

Untuk arsitektur Intel, apakah ada cara untuk menginstruksikan kompiler GCC untuk menghasilkan kode yang selalu memaksa prediksi cabang dengan cara tertentu dalam kode saya? Apakah perangkat keras ini mendukung Intel? Bagaimana dengan kompiler atau ap ...
ditetapkan pada 08 Mei '15 pada 21:54
5
balasan

Kapan seharusnya utas lebih disukai daripada loop tradisional untuk kinerja yang lebih baik? Apakah utas memanfaatkan prediksi cabang?

Saya baru saja membaca tentang Branch-Prediction dan ingin mencoba cara kerjanya dengan utas Java 8. Namun, kinerja dengan Streams selalu lebih buruk daripada loop tradisional. int totalSize = 32768; int filterValue = 1280; int [] array = baru di ...
ditetapkan pada 22 Desember. '16 pada 11:26
5
balasan

Kiat portabel untuk memprediksi industri

Apakah ada cara portabel untuk memprediksi prediksi cabang? Pertimbangkan contoh berikut ini: if (tidak mungkin_kondisi) {/ * ..A .. * /} lain {/ * ..B .. * /} Bukankah itu: jika (! Tidak mungkin_kondisi) {/ * ..B .. * /} selain itu ...
set 13 September '10 jam 20:35
8
balasan

Pemrograman dengan cabang

Saya membaca bahwa prediksi industri yang salah dapat menjadi penghambat panas untuk suatu aplikasi. Seperti yang saya lihat, orang sering menunjukkan kode assembler yang mengungkap masalah ini, dan menyatakan bahwa pemrogram biasanya dapat memprediksi di mana cabang itu ...
tanya 15 Sep. '15 jam 11:48
2
balasan

Penggabungan internal tanpa cabang lebih lambat daripada penggabungan internal dengan cabang

Saya baru-baru ini mengajukan pertanyaan dalam tinjauan kode untuk melihat algoritma pengurutan bernama QuickMergeSort. Saya tidak akan masuk ke rincian, tetapi pada suatu titik algoritma melakukan penggabungan internal: alih-alih menggunakan memori tambahan untuk menyimpan ...
ditetapkan pada 13 Desember. '16 pada 22:53
5
balasan

Mengapa fitur C ++ ini menghasilkan begitu banyak prediksi industri yang salah?

Biarkan A menjadi array yang berisi angka ganjil nol dan satu. Jika n adalah ukuran A, maka A dirancang sedemikian rupa sehingga elemen >
tanya 15 Sep. '16 jam 17:44
2
balasan

Apakah GCC menerima kode suboptimal untuk memprediksi cabang statis?

Dari kursus universitas saya, saya mendengar bahwa dengan persetujuan lebih baik untuk menempatkan kondisi yang lebih mungkin di dalam daripada di tempat lain, yang dapat membantu prediktor cabang statis. Sebagai contoh: if (check_collision (pemain, musuh)) {// sangat tidak mungkin benar ...
atur 26 Januari '17 jam 21:49
4
balasan

Prediksi Industri dan Zero Split

Saya menulis kode yang terlihat seperti ini: if (penyebut == 0) {return false; } int hasil = nilai / penyebut; ... ketika saya berpikir tentang perilaku percabangan di CPU. encoreci.net.site/questions/1 / ... Respons ini menyatakan bahwa CPU akan mencoba ...
atur 03 Agustus '15 jam 11:22
5
balasan

Seberapa umum prediksi cabang pada prosesor saat ini?

Karena dampak kinerja yang sangat besar, saya tidak pernah bertanya-tanya apakah desktop saya saat ini memiliki prosesor prediksi cabang. Tentu saja Tapi bagaimana dengan berbagai penawaran ARM? IPhone atau ponsel Android memiliki prediksi tentang ...
ditetapkan pada 23 November '11 jam 2:31 siang
3
balasan

Apakah "==" dalam array yang disortir tidak lebih cepat dari array yang tidak disortir?

Catatan: Saya pikir pertanyaan duplikat yang diduga terutama terkait dengan perbandingan "<" dan ">", tetapi bukan perbandingan "==" dan, oleh karena itu, tidak menjawab pertanyaan saya tentang efektivitas operator "==". Untuk waktu yang lama, saya percaya bahwa "memproses" ...
ditetapkan pada 18 Agustus '15 jam 6:51
4
balasan

X86-64 Membangun Optimasi Kinerja - Prediksi Leveling dan Branching

Saya saat ini mengkodekan versi yang sangat optimal dari beberapa fungsi perpustakaan C99 standar, seperti strlen (), memset (), dll., Menggunakan build x86-64 dengan instruksi SSE-2. Sejauh ini saya telah berhasil mencapai hasil yang sangat baik ...
atur 08 agt. '13 pada 0:18