]> granicus.if.org Git - python/commitdiff
bpo-35884: Add missing FIFO queue benchmark (GH-11898)
authorRaymond Hettinger <rhettinger@users.noreply.github.com>
Sat, 16 Feb 2019 20:51:02 +0000 (12:51 -0800)
committerMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Sat, 16 Feb 2019 20:51:02 +0000 (12:51 -0800)
https://bugs.python.org/issue35884

Tools/scripts/var_access_benchmark.py

index f8490457e65ad04258c1322bce46a4dbe025a22f..44cb200da7a7a00b07b7bd941d48d4afbf639605 100644 (file)
@@ -214,6 +214,15 @@ def deque_append_pop(trials=trials, a=deque([1])):
         ap(1); pop(); ap(1); pop(); ap(1); pop(); ap(1); pop(); ap(1); pop();
         ap(1); pop(); ap(1); pop(); ap(1); pop(); ap(1); pop(); ap(1); pop();
 
+def deque_append_popleft(trials=trials, a=deque([1])):
+    ap, pop = a.append, a.popleft
+    for t in trials:
+        ap(1); pop(); ap(1); pop(); ap(1); pop(); ap(1); pop(); ap(1); pop();
+        ap(1); pop(); ap(1); pop(); ap(1); pop(); ap(1); pop(); ap(1); pop();
+        ap(1); pop(); ap(1); pop(); ap(1); pop(); ap(1); pop(); ap(1); pop();
+        ap(1); pop(); ap(1); pop(); ap(1); pop(); ap(1); pop(); ap(1); pop();
+        ap(1); pop(); ap(1); pop(); ap(1); pop(); ap(1); pop(); ap(1); pop();
+
 def write_list(trials=trials, a=[1]):
     for t in trials:
         a[0]=1; a[0]=1; a[0]=1; a[0]=1; a[0]=1
@@ -261,7 +270,7 @@ if __name__=='__main__':
             '\nData structure write access:',
             write_list, write_deque, write_dict,
             '\nStack (or queue) operations:',
-            list_append_pop, deque_append_pop,
+            list_append_pop, deque_append_pop, deque_append_popleft,
             '\nTiming loop overhead:',
             loop_overhead]:
         if isinstance(f, str):