DZ
Суть в том, что не совсем стабильно. Если долго класть в очередь, а потом вытащить два элемента, то это будет работать долго, потому что будет разворачиваться список положенных элементов.
В BEAM, насколько я помню, lists:reverse оптимизирован и делается в bif, то есть, на 2–3 порядка быстрее, чем эрланг-кодом.
А если код не пытается использовать старый экземпляр очереди, то может и in-place сработать (но это может оказаться моей фантазией)