Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Operasi Atom pada Beregu dan Vektor Boleh Dicapai pada x86_64 Walaupun Had C?
Walaupun had C's std::atomic
Kendalian Berganda Atom dihidupkan x86_64
Operasi Vektor SSE/AVX pada x86_64
Walaupun C pada masa ini kekurangan sokongan untuk operasi vektor AVX/SSE atom, terdapat tiada cara untuk menjamin pemindahan atom bagi barisan cache 128b atau 256b di seluruh keseluruhan sistem.
Walau bagaimanapun, langkah berjaga-jaga tertentu boleh diambil untuk meminimumkan risiko koyak apabila menggunakan beban vektor/simpan pada tatasusunan kongsi beregu sejajar.
Beban Atom 16B
Stor Atom 16B dan RMW
Kendalian Atom dihidupkan Objek 16B dengan Separuh 8B
Penyusun dan Operasi Atom
Penyusun mungkin tidak selalu menjana kod pemasang optimum untuk operasi atom. Sebagai contoh, mereka mungkin mengelakkan pemuatan/simpan movsd langsung antara XMM dan daftar berganda, sebaliknya memilih kaedah bulatan.
Atas ialah kandungan terperinci Bagaimanakah Operasi Atom pada Beregu dan Vektor Boleh Dicapai pada x86_64 Walaupun Had C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!