/volatileMetadata
(Hasilkan metadata pada akses memori volatil)
Hasilkan metadata untuk akses memori volatil untuk meningkatkan performa saat menjalankan kode x64 di ARM64.
Sintaks
/volatileMetadata[-]
Argumen
-
Menonaktifkan /volatileMetadata
. Hal ini dapat mengakibatkan performa yang lebih buruk ketika kode Anda berjalan dalam mode emulasi di ARM64 karena emulator secara pesimis mengasumsikan bahwa setiap beban/penyimpanan membutuhkan hambatan.
Keterangan
Dimulai dengan Visual Studio 2019 16.10, /volatileMetadata
aktif secara default saat menghasilkan kode x64. Ini meningkatkan performa emulasi kode x64 pada ARM64 dengan menghasilkan metadata yang mengidentifikasi alamat memori volatil. Emulator dapat menggunakan metadata ini untuk meningkatkan performa dengan tidak menggunakan semantik perolehan/rilis pada akses yang diketahuinya tidak volatil. Tanpa metadata ini, emulator mengasumsikan bahwa semua alamat volatil dan menggunakan semantik perolehan dan rilis.
Salah satu efek /volatileMetadata
sampingnya adalah Anda mungkin melihat npad
makro yang digunakan dalam kode yang dihasilkan. Makro ini meluas ke sejumlah NOP
instruksi tertentu yang membuat alamat untuk dikaitkan dengan penghubung memori. Alamat tersebut kemudian dicatat dalam metadata untuk menunjukkan bahwa semantik perolehan/rilis harus digunakan untuk mengaksesnya.
/volatileMetadata
diabaikan saat menargetkan x86.
/volatileMetadata
dapat dinonaktifkan dengan menggunakan /volatileMetadata-
.
Persyaratan
Visual Studio 2019 versi 16.10 atau yang lebih baru.
Lihat juga
Opsi Pengkompilasi MSVC
Sintaks Baris Perintah Pengkompilasi MSVC