RM
Я подумал, может у меня реализация хварает, а оказалось что нет, я запустил теста ради в этих же 3х потоках потом и другую задачу, просто вытаскивание данных из std::queue, это дает такое же время примерно как у моей реализации. Не пойму, где то что-то не так, почему то локи дорогие, хоть lock_guard и уступает моей реализации, но там не сильная разница
В общем, не пойму, откуда в однопотоке время 0.00006 ms на выполнение, а в многопотоке с 3мя потоками аж 6 секунд.
Я представляю это так, если у меня неблокирующие потоки, то они должны выполняться как минимум близко к однопоточной реализации, а тут совсем иначе, они выполняются точно так же как и блокирующие, не знаю в чем тут проблема, может кто объяснит