Как лучше всего улучшить этот код:
def my_func(x, y):
... do smth ...
return cmp(x',y')
my_list = range(0, N)
my_list.sort(cmp=my_func)
Список питона занимает много памяти по сравнению с массивом numpy (6800 МБ против 700 МБ),
но nympy.array не имеет функции сортировки с аргументом cmp.
Существуют ли другие способы улучшить использование памяти или отсортировать массив numpy с помощью моей функции cmp?
Обновление: мое текущее решение - это функция C (совместно используемая с SWIG), которая сортирует огромный массив целых чисел и возвращает его в python после сортировки.
Но я надеюсь, что есть какой-нибудь способ реализовать эффективную для памяти сортировку огромных наборов данных с помощью Python. Есть идеи?