このコードを改善する最善の方法は何ですか:
def my_func(x, y):
... do smth ...
return cmp(x',y')
my_list = range(0, N)
my_list.sort(cmp=my_func)
python のリストは numpy 配列に比べて多くのメモリを消費します (6800MB 対 700MB) が、nympy.array には cmp 引数を持つソート機能がありません。
cmp 関数を使用してメモリ使用量を改善したり、numpy の配列をソートしたりする他の方法はありますか?
更新:私の現在の解決策は、整数の巨大な配列をソートし、ソート後にPythonに返すC関数(SWIGと共有)です。
しかし、Python を使用して巨大なデータセットのメモリ効率の良い並べ替えを実装する方法があることを願っています。何か案は?