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? <div>
<br></div><div><div><br></div><div><div>  1 #!/usr/bin/python</div><div>  2 </div><div>  3 import time</div><div>  4 from collections import deque</div><div>  5 </div><div>  6 nameList = ["Eric","John","Michael"]</div>
<div>  7 #queue = deque(["Eric","John","Michael"])</div><div>  8 queue = deque(nameList)</div><div>  9 </div><div> 10 def buildItems_q(q,n,mode):</div><div> 11     start = 0</div><div> 12     end = 0</div>
<div> 13 </div><div> 14     if mode == 'q':</div><div> 15         start = time.time()</div><div> 16         for r in xrange(n):</div><div> 17             queue.append("Terry_%s" % r)</div><div> 18         end = time.time()</div>
<div> 19 </div><div> 20         while q.pop() is not None:</div><div> 21             try:</div><div> 22                 q.pop()</div><div> 23             except IndexError:</div><div> 24                 pass</div><div> 25             break</div>
<div> 26     else:</div><div> 27         start = time.time()</div><div> 28         for r in xrange(n):</div><div> 29             q.append("Terry_%s" % r)</div><div> 30         end = time.time()</div><div> 31 </div>
<div> 32         while q.pop() is not None:</div><div> 33             try:</div><div> 34                 q.pop()</div><div> 35             except IndexError:</div><div> 36                 pass</div><div> 37             break</div>
<div> 38 </div><div> 39     return (end - start)</div><div> 40 </div><div> 41 if __name__ == "__main__":</div><div> 42     size = 10000000</div><div> 43     mode = 'list'</div><div><div>44     runtime = buildItems_q(queue,size,mode)</div>
<div> 45     print "Total run time: %f (%s)" % (runtime,mode)</div><div> 46 </div><div> 47     mode = 'Queue'</div><div> 48     runtime = buildItems_q(queue,size,mode)</div><div> 49     print "Total run time: %f (%s)" % (runtime,mode)</div>
<div><br></div><div><br></div><div><div>rbrown@laptop:~/code/python$ python queue.py </div><div>Total run time: 5.169290 (list)</div><div>Total run time: 5.112517 (Queue)</div><div><br></div></div></div><div><br></div><div>
<br></div></div><div><br>-- <br>[ Rodrick R. Brown ]  <br><a href="http://www.rodrickbrown.com">http://www.rodrickbrown.com</a> <a href="http://www.linkedin.com/in/rodrickbrown">http://www.linkedin.com/in/rodrickbrown</a><br>

</div></div>