/volatileMetadata
(Geçici bellek erişimlerinde meta veri oluşturma)
ARM64 üzerinde x64 kodu çalıştırırken performansı geliştirmek için geçici bellek erişimleri için meta veriler oluşturun.
Söz dizimi
/volatileMetadata[-]
Bağımsız değişkenler
-
öğesini kapatır /volatileMetadata
. Bu durum, kodunuz ARM64'te öykünme modunda çalıştığında performansın daha kötü olmasına neden olabilir çünkü öykünücü kötümser bir şekilde her yük/deponun bir engele ihtiyacı olduğunu varsayar.
Açıklamalar
Visual Studio 2019 16.10'dan başlayarak, /volatileMetadata
x64 kodu oluşturulurken varsayılan olarak açıktır. Geçici bellek adreslerini tanımlayan meta veriler oluşturarak ARM64 üzerinde x64 kodunun öykünme performansını geliştirir. Öykünücü, geçici olmadığını bildiği erişimlerde alma/yayın semantiği kullanmayarak performansı geliştirmek için bu meta verileri kullanabilir. Öykünücü, bu meta veriler olmadan tüm adreslerin geçici olduğunu ve alma ve yayın semantiğini kullandığını varsayar.
Bunun bir yan etkisi /volatileMetadata
, oluşturulan kodda kullanılan makroları görebilmenizdir npad
. Bu makro, bellek engeliyle ilişkilendirilecek bir adres oluşturan belirtilen sayıda NOP
yönergeye genişletir. Bu adres daha sonra meta verilere kaydedilir ve bu adrese erişmek için alma/yayın semantiğinin kullanılması gerektiğini belirtir.
/volatileMetadata
x86 hedeflendiğinde yoksayılır.
/volatileMetadata
kullanılarak /volatileMetadata-
devre dışı bırakılabilir.
Gereksinimler
Visual Studio 2019 sürüm 16.10 veya üzeri.
Ayrıca bkz.
MSVC Derleyicisi Seçenekleri
MSVC Derleyicisi Komut Satırı Söz Dizimi