From ed8721059db1fc7d18a0613a7d999f156fc674ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Moreira?= Date: Thu, 9 Aug 2012 23:50:26 -0300 Subject: [PATCH] Small improvement on *MemoryQueue performance (mainly on push time) --- scrapy/utils/queue.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/scrapy/utils/queue.py b/scrapy/utils/queue.py index fe6e9c75f..35fa9102c 100644 --- a/scrapy/utils/queue.py +++ b/scrapy/utils/queue.py @@ -10,13 +10,11 @@ class FifoMemoryQueue(object): def __init__(self): self.q = deque() - - def push(self, obj): - self.q.appendleft(obj) + self.push = self.q.append def pop(self): - if self.q: - return self.q.pop() + q = self.q + return q.popleft() if q else None def close(self): pass @@ -28,8 +26,9 @@ class FifoMemoryQueue(object): class LifoMemoryQueue(FifoMemoryQueue): """Memory LIFO queue.""" - def push(self, obj): - self.q.append(obj) + def pop(self): + q = self.q + return q.pop() if q else None class FifoDiskQueue(object):