Rumah >pembangunan bahagian belakang >C++ >Berapa banyak data yang diperolehi oleh __builtin_prefetch untuk penuding void const?

Berapa banyak data yang diperolehi oleh __builtin_prefetch untuk penuding void const?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-01 10:13:301064semak imbas

How much data is retrieved by __builtin_prefetch for a const void pointer?

Kesan __builtin_prefetch pada Data Diperoleh

Soalan:

Berapa banyak data yang diperolehi apabila menggunakan __builtin_prefetch pada penunjuk const void?

Jawapan:

__builtin_prefetch mencetuskan arahan mesin FETCH, mendapatkan semula satu baris cache, saiznya berbeza-beza bergantung pada pemproses .

Prafetching Struktur Besar:

Prafetching keseluruhan struktur tidak boleh dilakukan secara langsung. Anda disyorkan untuk prafetch elemen tertentu yang akan diakses selepas prafetch, seperti __builtin_prefetch (con[i 3].Pfrom).

Amalan Terbaik untuk Prafetch:

  • Elakkan prefetching yang berlebihan dalam gelung.
  • Ukur peningkatan prestasi untuk menentukan sama ada prafetching bermanfaat.
  • Gunakan pengkompil GCC terbaharu dengan pengoptimuman didayakan (mis., -O2).
  • Pertimbangkan pemprosesan berasaskan GPU untuk gelung kritikal prestasi.

Nota Tambahan (2018):

Memandangkan kedua-dua perkakasan dan penyusun telah meningkatkan pengurusan cache dengan ketara, __builtin_prefetch mungkin kurang berkesan pada masa kini. Penandaarasan dinasihatkan untuk menentukan kesan sebenar.

Atas ialah kandungan terperinci Berapa banyak data yang diperolehi oleh __builtin_prefetch untuk penuding void const?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn