Author: Remi Meier <remi.me...@gmail.com>
Branch: multithread-runner
Changeset: r382:5f5a5345c51c
Date: 2016-07-14 09:47 +0200
http://bitbucket.org/pypy/benchmarks/changeset/5f5a5345c51c/

Log:    initial adaption for running multithreaded on JIT

diff --git a/multithread/btree/btree.py b/multithread/btree/btree.py
--- a/multithread/btree/btree.py
+++ b/multithread/btree/btree.py
@@ -312,7 +312,7 @@
 ######################################################################
 
 CONFLICTING = [BTree.insert, BTree.remove]
-OPS = [BTree.__contains__] * 198 + CONFLICTING
+OPS = [BTree.__contains__] * 1998 + CONFLICTING
 
 ITEM_RANGE = 10000
 
diff --git a/multithread/config-all-long.json b/multithread/config-all-long.json
new file mode 100644
--- /dev/null
+++ b/multithread/config-all-long.json
@@ -0,0 +1,68 @@
+{
+    "defaults": {
+        "file": null,
+        "threads": [1, 2, 4, 8],
+        "vmstarts": 1,
+        "warmiters": 1,
+        "PYTHONPATH": ".",
+        "args": [],
+        "cwd": "."
+    },
+
+    "benchs": {
+        "nqueens": {
+            "file": "nqueens/nqueens.py",
+            "PYTHONPATH": "..",
+            "args": ["10"]
+        },
+
+        "parsible-bench": {
+            "file": "parsible-bench/parsible-bench.py",
+            "PYTHONPATH": ".."
+        },
+
+        "mersenne": {
+            "file": "mersenne/mersenne.py",
+            "PYTHONPATH": "..",
+            "args": ["3000"]
+        },
+
+        "richards": {
+            "file": "richards/richards.py",
+            "PYTHONPATH": "..",
+            "args": ["10000"]
+        },
+
+        "mandelbrot": {
+            "file": "mandelbrot/mandelbrot.py",
+            "PYTHONPATH": "..",
+            "args": ["128", "4096", "2048"]
+        },
+
+        "btree": {
+            "file": "btree/btree.py",
+            "PYTHONPATH": "..",
+            "args": ["32", "8000000"]
+        },
+
+        "skiplist": {
+            "file": "skiplist/skiplist.py",
+            "PYTHONPATH": "..",
+            "args": ["32", "6000000"]
+        },
+
+        "raytrace": {
+            "file": "raytrace/raytrace.py",
+            "PYTHONPATH": "..",
+            "args": ["4096", "4096"]
+        },
+
+        "perlin": {
+            "file": "perlin_noise/perlin_noise.py",
+            "PYTHONPATH": "..",
+            "args": ["5"]
+        }
+
+    }
+
+}
diff --git a/multithread/nqueens/nqueens.py b/multithread/nqueens/nqueens.py
--- a/multithread/nqueens/nqueens.py
+++ b/multithread/nqueens/nqueens.py
@@ -74,7 +74,7 @@
     print "params (iters, threads, n):", warmiters, threads, n
 
     print "do warmup:"
-    for i in range(3):
+    for i in range(4):
         t = run(threads, n)
         print "iter", i, "time:", t
 
diff --git a/multithread/parsible-bench/parsible-bench.py 
b/multithread/parsible-bench/parsible-bench.py
--- a/multithread/parsible-bench/parsible-bench.py
+++ b/multithread/parsible-bench/parsible-bench.py
@@ -35,7 +35,7 @@
     print "params (iters, threads):", warmiters, threads
 
     print "do warmup:"
-    for i in range(4):
+    for i in range(6):
         print "iter", i, "time:", run(threads)
 
     print "turn off jitting"
diff --git a/multithread/perlin_noise/perlin_noise.py 
b/multithread/perlin_noise/perlin_noise.py
--- a/multithread/perlin_noise/perlin_noise.py
+++ b/multithread/perlin_noise/perlin_noise.py
@@ -99,7 +99,9 @@
     print "params (iters, threads, n):", warmiters, threads, n
 
     print "do warmup:"
-    for i in range(2):
+    # JIT compiles *tons* of bridges for the perlin_noise function
+    # turning it off after /some/ warmup speeds it up by 10x
+    for i in range(1):
         t = time.time()
         run(threads, n)
         print "iter", i, "time:", time.time() - t
diff --git a/multithread/richards/richards.py b/multithread/richards/richards.py
--- a/multithread/richards/richards.py
+++ b/multithread/richards/richards.py
@@ -8,7 +8,10 @@
 #  Outer loop added by Alex Jacoby
 
 import thread, os
-from common.abstract_threading import atomic, hint_commit_soon
+from common.abstract_threading import (
+    atomic, Future, set_thread_pool, ThreadPool,
+    hint_commit_soon, turn_jitting_off)
+
 
 # Task IDs
 I_IDLE = 1
@@ -442,7 +445,12 @@
 
     print "params:", warmiters, threads, iterations
     print "do warmup:"
-    result, startTime, endTime = entry_point(4, threads)
+    entry_point(iterations, threads)
+    entry_point(iterations, threads)
+    entry_point(iterations, threads)
+
+    print "turn off jitting"
+    turn_jitting_off()
 
     print "do", warmiters, "real iters:"
     times = []
diff --git a/multithread/skiplist/skiplist.py b/multithread/skiplist/skiplist.py
--- a/multithread/skiplist/skiplist.py
+++ b/multithread/skiplist/skiplist.py
@@ -91,7 +91,7 @@
 
 
 CONFLICTING = [SkipList.insert, SkipList.remove]
-OPS = [SkipList.find] * 198 + CONFLICTING
+OPS = [SkipList.find] * 1998 + CONFLICTING
 ITEM_RANGE = 1000000
 
 def task(id, slist, ops):
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to