Это метод можно назвать, например, сказать, что 2 миллиона раз pe r second, и я уверен, что Array.Sort неэффективен для этого. Размер может быть не более 100 элементов в этом массиве
Быстрый микро тест показывает, что Arrays.sort
может сортировать int[]
массив из 100 int
с прибл. 1,3 микросекунды * на стандартной настольной машине (i7), используя одно ядро.
Таким образом, вы можете назвать это примерно 800 000 раз в секунду (по-прежнему предполагается, что вы используете только 1 ядро). Итак, , если у вас 4 процессора или более, вы должны иметь возможность запускать 2 миллиона операций сортировки в секунду.
Примечание: если ваши массивы имеют типичную характеристику (скажем, много дубликатов или в основном отсортированы или цифры всего в довольно узком диапазоне), вы можете найти более подходящий алго, но для общего использования. Я уверен, что JDK algo достаточно прочен и эффективен.
* Результаты микро-теста (сделано с JMH):
Run result "sort": 1341.298 ±(95%) 11.701 ±(99%) 19.406 nsec/op
Run statistics "sort": min = 1331.329, avg = 1341.298, max = 1352.831, stdev = 9.425
Run confidence intervals "sort": 95% [1329.597, 1352.999], 99% [1321.892, 1360.704]
«и будет называться многими нитями, в то же время» не делает никакой разницы в вашем примере. Если вы не имели в виду: метод должен использовать много потоков для повышения производительности. – assylias
Также: что не так с 'Arrays.sort (yourArrayOfInts);'? – assylias
Какие цифры вы ожидаете? Как они распространяются? –