Что такое эффективный способ инициализации и доступа к элементам большого массива в Python?
Я хочу создать массив в Python со 100 миллионами записей, беззнаковые 4-байтовые целые числа, инициализированные до нуля. Я хочу быстрый доступ к массиву, желательно с непрерывной памятью.
Странно, NumPy массивы, похоже, работают очень медленно. Есть ли альтернативы, которые я могу попробовать?
Существует модуль array.array, но я не вижу способа эффективно выделять блок из 100 миллионов записей.
Ответы на комментарии:
- Я не могу использовать разреженный массив. Это будет слишком медленным для этого алгоритма, потому что массив быстро становится плотным.
- Я знаю, что Python интерпретируется, но, конечно, есть способ выполнять быстрые операции массива?
- Я сделал некоторое профилирование, и я получаю около 160 тыс. запросов к массиву (поиск или обновление элемента по индексу) в секунду с помощью NumPy. Это кажется очень медленным.