Apa perbedaan antara " cache code yang tidak ramah " dan kode " cache friendly "? Bagaimana saya memastikan saya menulis kode efisien-cache?
Apa perbedaan antara " cache code yang tidak ramah " dan kode " cache friendly "? Bagaimana saya memastikan saya menulis kode efisien-cache?
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...
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...
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...
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"...