<div dir="ltr">On Fri, Jul 12, 2013 at 7:40 PM, Matthias Radestock <span dir="ltr"><<a href="mailto:matthias@rabbitmq.com" target="_blank">matthias@rabbitmq.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 12/07/13 15:01, Jesper Louis Andersen wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Most functional languages have queues which are *amortized* O(1) to<br>
boot. That is, you do not have O(1) guarantee unless you amortize over<br>
several operations.<br>
</blockquote>
<br></div>
Are you suggesting that publishing and consuming from a RabbitMQ queue are *not* amortized O(1) operations? AFAIK they are, but the constant factor changes dramatically depending on whether the entire queue is kept in RAM (only), partially paged to disk, or fully paged to disk.<span class="HOEnZb"><font color="#888888"><br>
<br></font></span></blockquote><div><br></div><div>No, on the contrary in fact. I would definitely expect RabbitMQ to have amortized O(1) access to a queue. And indeed the dequeueing latency depends on the factors you mention. </div>
</div><br clear="all"><div><br></div>-- <br>J.
</div></div>