Среда выполнения OpenMP, вероятно, не создаст никаких потоков, если вы запустите его только с одним потоком.
Кроме того, простое использование директив распараллеливания OpenMP иногда также ускоряет выполнение последовательного кода, поскольку вы, по сути, предоставляете компилятору больше информации.Конструкция разделения работы, например, сообщает компилятору, что итерации цикла не зависят друг от друга, что он, возможно, не смог бы вывести самостоятельно, и что позволяет компилятору использовать более агрессивные стратегии оптимизации.Конечно, не всегда, но я видел, как это происходит с «кодом реального мира».