Используя Cython
, я создаю программу, в которой я создаю массив известной длины, скажем, длины 10e5
. Я должен отдельно рассчитать каждый элемент и затем добавить его в массив, который я инициализирую как np.empty(int(10e5), dtype=np.float64)
с помощью пакета numpy
.
Однако я хочу, чтобы этот массив был отсортирован, и операция np.ndarray.sort
занимает около 17% общего времени выполнения моей программы, поэтому я бы хотел исключить этот шаг.
Существует ли быстрый Cython-esque способ построить массив таким образом, чтобы он сохранял сортировку при добавлении большего количества значений?
Я пробовал что-то, используя TreeSet , но этот объектно-ориентированный подход порождает слишком много накладных расходов.