^ Это моя реализация параллельной сортировки слиянием. В основном, что я делаю, для каждого разделения первая половина обрабатывается потоком, тогда как вторая половина является последовательной (т.е.), скажем, у нас есть массив из 9 элементов, [0..4] обрабатывается потоком 1, [0 ..1] обрабатывается потоком 2, [5..6] обрабатывается потоком 3 (см. исходный код для уточнения).
Все остальное остается прежним, как слияние. Но проблема в том, что это работает намного медленнее, чем сортировка слиянием, даже медленнее, чем обычная пузырьковая сортировка! И я имею в виду массив из 25000 целых чисел. Я не уверен, где находится узкое место: это блокировка мьютекса? Это слияние?
Любые идеи о том, как сделать это быстрее?