Di bawah ini adalah dua program yang hampir identik kecuali bahwa saya mengaktifkan idan jvariabel sekitar. Keduanya berjalan dalam jumlah waktu yang berbeda. Bisakah seseorang menjelaskan mengapa ini terjadi? Versi 1 #include <stdio.h> #include <stdlib.h> main () { int i,j; static int x[4000][4000]; for (i = 0; i < 4000; …
Adakah yang bisa memberi saya perkiraan waktu (dalam nanodetik) untuk mengakses cache L1, L2 dan L3, serta memori utama pada prosesor Intel i7? Meskipun ini bukan pertanyaan pemrograman yang spesifik, mengetahui rincian kecepatan seperti ini diperlukan untuk beberapa tantangan pemrograman latensi rendah.
Ini bisa terdengar seperti pertanyaan subyektif, tapi yang saya cari adalah contoh spesifik, yang bisa Anda temui terkait dengan ini. Bagaimana cara membuat kode, efektif cache / ramah cache (hit cache lebih banyak, sesedikit mungkin cache gagal)? Dari kedua perspektif, cache data & cache program (cache instruksi), yaitu hal-hal apa …
Pemahaman saya adalah bahwa perbedaan utama antara kedua metode tersebut adalah bahwa dalam metode "tulis-melalui" data ditulis ke memori utama melalui cache segera, sedangkan dalam "menulis kembali" data ditulis dalam "waktu terakhir". Kita masih harus menunggu memori di "waktu yang terakhir" jadi Apa manfaat "menulis melalui"?