summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@rabbitmq.com>2012-12-28 21:37:55 +0000
committerMatthias Radestock <matthias@rabbitmq.com>2012-12-28 21:37:55 +0000
commitaa6ed6e1b531a9a598039984d25d3219817280ef (patch)
tree245b70dc7a55199367a27bd2685121e76515383e
parent25bc0fabb9538906bf9b6eb0b72ae34e18fcf5c0 (diff)
downloadrabbitmq-server-aa6ed6e1b531a9a598039984d25d3219817280ef.tar.gz
optimise rabbit_amqqueue:lookup/1 common cases
-rw-r--r--src/rabbit_amqqueue.erl2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl
index 1b6cc223..1a270364 100644
--- a/src/rabbit_amqqueue.erl
+++ b/src/rabbit_amqqueue.erl
@@ -302,6 +302,8 @@ add_default_binding(#amqqueue{name = QueueName}) ->
key = RoutingKey,
args = []}).
+lookup([]) -> []; %% optimisation
+lookup([Name]) -> ets:lookup(rabbit_queue, Name); %% optimisation
lookup(Names) when is_list(Names) ->
%% Normally we'd call mnesia:dirty_read/1 here, but that is quite
%% expensive for reasons explained in rabbit_misc:dirty_read/1.