Bagikan melalui


Performa dan Konsumsi Memori di Bawah WOW64

Performa dan konsumsi memori di bawah WOW64 ditentukan oleh faktor-faktor berikut:

  • Perangkat keras prosesor. Emulasi instruksi dilakukan pada chip. Pada prosesor x64, instruksi x86 dijalankan secara asli oleh prosesor. Oleh karena itu, kecepatan eksekusi di bawah WOW64 pada x64 mirip dengan kecepatannya di bawah Windows 32-bit. Pada prosesor Intel Itanium dan prosesor ARM64 apa pun, lebih banyak perangkat lunak terlibat dalam emulasi, dan performa menderita sebagai akibatnya.
  • Overhead thunk API. Overhead ini kecil dibandingkan dengan panggilan sistem ke kernel NT. Fungsi kernel NT dimaksudkan untuk jarang dipanggil.
  • Ukuran memori virtual. Pada prosesor Intel Itanium, WOW64 menambahkan overhead yang signifikan jika dua instans atau lebih dari aplikasi 32-bit yang sama berjalan bersamaan. Ini karena halaman 8 KB asli di Intel Itanium, yang mempersulit emulasi halaman 4 KB asli pada arsitektur x86 (lebih banyak halaman ditandai sebagai bisa-tulis; semua halaman bisa-tulis bersifat pribadi untuk proses). Hal ini dapat berdampak buruk pada skalabilitas Layanan Terminal pada prosesor tertentu. Ini bukan kasus untuk prosesor x64.
  • Set kerja. WOW64 meningkatkan ukuran set kerja aplikasi.

WOW64 memungkinkan aplikasi 32-bit untuk memanfaatkan kernel 64-bit. Oleh karena itu, aplikasi 32-bit dapat menggunakan sejumlah besar handel kernel dan handel jendela. Namun, aplikasi 32-bit mungkin tidak dapat membuat utas sebanyak mungkin di bawah WOW64 saat berjalan secara asli pada sistem berbasis x86 karena WOW64 mengalokasikan tumpukan 64-bit tambahan (biasanya 512 KB) untuk setiap utas. Selain itu, beberapa jumlah ruang alamat disediakan untuk WOW64 itu sendiri dan struktur data yang digunakannya. Jumlah yang dipesan tergantung pada prosesor; lebih banyak dicadangkan pada Intel Itanium daripada pada prosesor x64 atau ARM64.

Jika aplikasi memiliki bendera IMAGE_FILE_LARGE_ADDRESS_AWARE yang diatur di header gambar, setiap aplikasi 32-bit menerima ruang alamat virtual 4 GB di lingkungan WOW64. Jika bendera IMAGE_FILE_LARGE_ADDRESS_AWARE tidak diatur, setiap aplikasi 32-bit menerima ruang alamat virtual 2 GB di lingkungan WOW64.