Was reading the official python document and I noticed they mentioned queues being more efficient for adding/removing elements vs list so I wrote a quick test the validate this claim and I wasn't very impressed by the results it seems queues are just slightly faster so my question to the list, is deque used much in python over general lists?
1 #!/usr/bin/python 2 3 import time 4 from collections import deque 5 6 nameList = ["Eric","John","Michael"] 7 #queue = deque(["Eric","John","Michael"]) 8 queue = deque(nameList) 9 10 def buildItems_q(q,n,mode): 11 start = 0 12 end = 0 13 14 if mode == 'q': 15 start = time.time() 16 for r in xrange(n): 17 queue.append("Terry_%s" % r) 18 end = time.time() 19 20 while q.pop() is not None: 21 try: 22 q.pop() 23 except IndexError: 24 pass 25 break 26 else: 27 start = time.time() 28 for r in xrange(n): 29 q.append("Terry_%s" % r) 30 end = time.time() 31 32 while q.pop() is not None: 33 try: 34 q.pop() 35 except IndexError: 36 pass 37 break 38 39 return (end - start) 40 41 if __name__ == "__main__": 42 size = 10000000 43 mode = 'list' 44 runtime = buildItems_q(queue,size,mode) 45 print "Total run time: %f (%s)" % (runtime,mode) 46 47 mode = 'Queue' 48 runtime = buildItems_q(queue,size,mode) 49 print "Total run time: %f (%s)" % (runtime,mode) rbr...@laptop:~/code/python$ python queue.py Total run time: 5.169290 (list) Total run time: 5.112517 (Queue) -- [ Rodrick R. Brown ] http://www.rodrickbrown.com http://www.linkedin.com/in/rodrickbrown
-- http://mail.python.org/mailman/listinfo/python-list