4 ms·
Note that rustc will not emit this instruction by default, to support older CPUs. Without `target-cpu=haswell` or similar, the operation will be quite slow, but
by sapiogram 2y ago
Note that rustc will not emit this instruction by default, to support older CPUs. Without `target-cpu=haswell` or similar, the operation will be quite slow, but still O(1) of course.
- jsheard 2y agoIt's not that bad, all x86 processors have the BSR instruction which can be mapped to LZCNT semantics with just a few extra instructions. Left to right - modern x86-64, baseline x86-64, baseline i686: https://rust.godbolt.org/z/nGsM35TEo https://rust.godbolt.org/z/nGsM35TEo Maybe you're thinking of POPCNT, which hurts a lot more if it doesn't compile down to the native instruction: https://rust.godbolt.org/z/xcxG3v4Mn https://rust.godbolt.org/z/xcxG3v4Mn