У меня огромное количество 128-битных целых чисел без знака, которые нужно отсортировать для анализа (около триллиона из них!).
Исследование, которое я провел по 128-битным целым, привело меня внизв некотором роде тупик, numpy, похоже, не полностью их поддерживает, а внутренние функции сортировки требуют большого объема памяти (используя списки).
Что я хотел бы сделать, это загрузить, например, миллиард128-разрядные целые числа без знака в памяти (16 ГБ, если только двоичные данные) и сортировка их.У рассматриваемой машины есть 48 ГБ ОЗУ, поэтому все в порядке, чтобы использовать 32 ГБ для операции.Если это нужно сделать небольшими порциями, это нормально, но лучше использовать как можно большую порцию.Есть ли в Python алгоритм сортировки, который может принимать такие данные, не требуя огромных накладных расходов?
Я могу отсортировать 128-битные целые числа, используя метод .sort для списков, и это работает, но не может масштабироваться до необходимого мне уровня.У меня есть версия C ++, которая была написана специально для этого и работает невероятно быстро, но я хотел бы воспроизвести ее на Python, чтобы ускорить время разработки (и я не писал C ++, и я не привык к этому языку).
Извините, если для описания проблемы требуется больше информации, пожалуйста, спросите что-нибудь.