Код: Выделить всё
while(try_lock() == false)
{
// Use _mm_pause() or _tpause() here?
}
Перед добавлением _mm_pause() я обнаружил _tpause():
https://www.felixcloutier.com/x86/tpause
Однако из руководства Intel Intrinsics Guide его использование кажется немного более сложным.Я хотел бы максимизировать производительность/не беспокоюсь о энергопотреблении.
Что мне следует использовать, и если это _t_pause(), как его правильно использовать ? Я не могу найти ни одного примера использования, даже на Github.
Архитектура будет построена на моделях Intel Xeon 2022+.
РЕДАКТИРОВАТЬ:
Я только что заметил, что задержка _mm_pause() составляет 140 циклов?!
[img]https:/ /i.sstatic.net/JUIBzS2C.png[/img]
К сожалению, я не заметил задержки для _tpause().
Подробнее здесь: https://stackoverflow.com/questions/788 ... -spin-loop