Primero en entrar, primero en salir. Te formas al final, sales por el frente. La imagen invertida del stack.
Verde = frente (el próximo en ser atendido), azul = final (acaba de llegar). Salen en el mismo orden en que entraron.
list.pop(0) es O(n) → O(n²) para vaciarla. 24× más lento que deque con 32000.
Usa collections.deque + popleft, nunca list.pop(0).
FIFO te da servicio justo, por orden de llegada, en O(1).
Sigue: una cola de tamaño fijo que reutiliza su espacio — el ring buffer.