Недавно коллега написал программу, в которой он использовал список Python в качестве очереди. Другими словами, он использовал .append(x)
при необходимости вставки элементов и .pop(0)
при необходимости удаления элементов.
Я знаю, что Python имеет collections.deque
, и я пытаюсь выяснить, следует ли тратить мое (ограниченное) время на переписывание этого кода использовать его. Предполагая, что мы выполняем миллионы добавлений и всплывающих окон, но не будем иметь более нескольких тысяч записей, будет ли проблема использования его списка?
В частности, будет ли базовый массив, используемый реализацией списка Python, неограниченно увеличиваться, есть миллионы пятен, хотя список содержит только тысячу вещей, или Python в конечном итоге сделает realloc
и освободит часть этой памяти