Каждая ваша «задача» - тратить время примерно на 2 секунды, независимо от объема работы.
В современной ОС (включая Linux) ОС переключается между потоками за короткий промежуток времени. время, поэтому одно ядро ЦП может выполнять несколько потоков одновременно.
В этом случае общее время, которое нужно затратить, определяется количеством задач, обрабатываемых одновременно. (Независимо от того, является ли обработка параллельной (выполняется ли она на разных ядрах), не имеет значения, потому что количество времени не будет отражено во времени, которое потребуется).
Тогда обработка будет такой:
1 поток
1: ABCDEFGHIJ
2 потока
1: ABCDE
2: FGHIJ
3 потока
1: ABCD
2: EFG
3: HIJ
4 потока
1: ABC
2: DEF
3: GH
4: IJ
5 потоков
1: AB
2: CD
3: EF
4: GH
5: IJ
6 потоков
1: AB
2: CD
3: EF
4: GH
5: I
6: J
...
9 потоков
1: AB
2: C
3: D
4: E
5: F
6: G
7: H
8: I
9: J
10 потоков
1: A
2: B
3: C
4: D
5: E
6: F
7: G
8: H
9: I
10: J
Как видите при использовании от 1 до 5 потоков минимальное количество задач, которые должны обрабатываться одним потоком, уменьшается с увеличением количества потоков.
Минимальное значение не изменяется при использовании 5–9 потоков и снова уменьшается при Используется 10 потоков.
Это объясняет ваш график.