В случае с данным примером разницы в производительности при самостоятельном создании потоков, или создании потоков с помощью TBB не будет. Здесь на первом плане простота работы с потоками.
OpenMP так же прост, как и TBB. На мой взгляд OpenMP это простой способ распаралелливания, в то время как TBB это и распаралелливание и работа с данными, памятью, алгоритмы, объекты синхронизации. По этой ссылке Вы сможете увидеть таблицу, в которой кратко сравниваются эти методы паралеллизации.
Если я правильно понимаю, OpenMP исповедует несколько иную парадигму — его основная задача «не испортить последовательный код» или даже «использовать последовательный код».
Согласен, подход OpenMP как раз позволяет, практически без проблем, паралеллить последовательный код, в то время как переход на TPP приведет к переосмысливанию и переписыванию кода.
Использование Intel TBB для создания многопоточных приложений