А вот std::tuple такой особенности не имеет, если из треда нужно периодически возвращать что-то с фиксированный размером контейнера, пусть будет std::tuple<long, long, int> . В моем случае это нужно для возвращения прогресса операции в main (GUI) поток с помощью ивентов. Т.е. текущей итерации цикла, максимального значения и процента выполнения. Естественно это все работает не на каждой итерации (которых может быть миллион), чтобы не спамить обработчик событий, а на заданный процент. Так вот в случае std::tuple как контейнера некоторых данных масштабирование задач на физическое количество ядер процессора(потоков) практически линейное, до количества ядер/потоков - 1. Очевидно это (-1 поток от максимального) связано с задачами операционной системы и главного потока приложения.
Как можно говорить о скорости в дебаг сборке, это прикол?
Я сразу отметил этот момент в посте. В релизной версии скорее всего будет менее ощутимо, но останется.