Pertanyaan yang diberi tag «strict-aliasing»


3
Menggunakan pointer ini menyebabkan deoptimisasi yang aneh di hot loop
Saya baru-baru ini menemukan deoptimisasi yang aneh (atau lebih tepatnya melewatkan peluang pengoptimalan). Pertimbangkan fungsi ini untuk pembongkaran array yang efisien dari bilangan bulat 3-bit menjadi bilangan bulat 8-bit. Ini membongkar 16 int di setiap iterasi loop: void unpack3bit(uint8_t* target, char* source, int size) { while(size > 0){ uint64_t t …

13
Di C ++, haruskah saya repot-repot melakukan cache variabel, atau membiarkan compiler melakukan optimasi? (Aliasing)
Pertimbangkan kode berikut ( padalah tipe unsigned char*dan bitmap->widthdari beberapa tipe integer, persis yang tidak diketahui dan bergantung pada versi mana dari beberapa perpustakaan eksternal yang kita gunakan): for (unsigned x = 0; x < static_cast<unsigned>(bitmap->width); ++x) { *p++ = 0xAA; *p++ = 0xBB; *p++ = 0xCC; } Apakah layak …
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.