Может быть, мне было немного неясно
Что я хочу сделать, так это отсортировать множество векторов как можно быстрее.
У меня например 200 векторов с 200 двойными.
Так как вы не опубликовали свой код, я предполагаю, что вы ищете лучшую оптимизацию кода для экономии памяти и времени. Попробуйте использовать флаги в ваших циклах.
for(i=1;x;i++)
{
sort();
if(flag)
break;
}
«Break» гарантирует, что вы не перебираете ненужный код после того, как вы отсортировали данные, флаг указывает компилятору выйти из оператора цикла, когда итерации завершены. Использование флагов во вложенных циклах еще более важно, так как сложность пространства превышает O (n.square) и требует большей эффективности.
Это экономит много времени на огромное количество итераций, а также пространство памяти. Попробуйте оптимизировать свой код везде, где это возможно, в долгосрочной перспективе это будет иметь большое значение.
Использование сортировки Radix может ускорить ваши сортировки.
В SDK Nvidia cuda / openCL реализована параллельная реализация алгоритма сортировки Radix.