Is there any efficency benefit to using an unlocked boolean over using an `std::atomic<bool>` where the operations are always done with relaxed memory order? I would assume that both eventually compile to the same machine code, since a single byte is actually atomic on X64 hardware. Am I wrong?