[pypy-commit] benchmarks multithread-runner: add mersenne config

Raemi pypy.commits at gmail.com
Mon Jun 20 07:04:41 EDT 2016


Author: Remi Meier <remi.meier at gmail.com>
Branch: multithread-runner
Changeset: r356:0dbc353ce596
Date: 2016-05-27 16:10 +0200
http://bitbucket.org/pypy/benchmarks/changeset/0dbc353ce596/

Log:	add mersenne config

diff --git a/multithread/config-mersenne.json b/multithread/config-mersenne.json
new file mode 100644
--- /dev/null
+++ b/multithread/config-mersenne.json
@@ -0,0 +1,19 @@
+{
+    "defaults": {
+        "file": null,
+        "threads": [1, 2, 4, 8],
+        "vmstarts": 3,
+        "warmiters": 3,
+        "PYTHONPATH": ".",
+        "args": [],
+        "cwd": "."
+    },
+
+    "benchs": {
+        "mersenne": {
+            "file": "mersenne/mersenne.py",
+            "PYTHONPATH": "..",
+            "args": ["1500"]
+        }
+    }
+}
diff --git a/multithread/config-richards.json b/multithread/config-richards.json
--- a/multithread/config-richards.json
+++ b/multithread/config-richards.json
@@ -3,7 +3,7 @@
         "file": null,
         "threads": [1, 2, 4, 8],
         "vmstarts": 3,
-        "warmiters": 5,
+        "warmiters": 3,
         "PYTHONPATH": ".",
         "args": [],
         "cwd": "."
@@ -13,8 +13,6 @@
         "richards": {
             "file": "richards/richards.py",
             "PYTHONPATH": "..",
-            "vmstarts": 3,
-            "warmiters": 3,
             "args": ["30"]
         }
     }
diff --git a/multithread/mersenne/mersenne.py b/multithread/mersenne/mersenne.py
--- a/multithread/mersenne/mersenne.py
+++ b/multithread/mersenne/mersenne.py
@@ -6,7 +6,7 @@
 import time, random
 from common.abstract_threading import (
     atomic, Future, set_thread_pool, ThreadPool,
-    hint_commit_soon, print_abort_info)
+    turn_jitting_off)
 
 import itertools
 from collections import deque
@@ -48,10 +48,11 @@
         return
 
     for p in ps:
-        with atomic:
+        if 1: #with atomic:
             if is_prime(p) and is_mersenne_prime(p):
                 #print p
-                counter[0] += 1
+                with atomic:
+                    counter[0] += 1
         if counter[0] >= upb_count:
             break
 
@@ -84,6 +85,32 @@
     return
 
 
+def main(argv):
+    # warmiters threads args...
+    warmiters = int(argv[0])
+    threads = int(argv[1])
+    n = int(argv[2])
 
-if __name__ == "__main__":
-    run()
+    print "params (iters, threads, n):", warmiters, threads, n
+
+    print "do warmup:"
+    for i in range(2):
+        t = time.time()
+        run(threads, n)
+        print "iter", i, "time:", time.time() - t
+
+    print "turn off jitting"
+    import gc
+    turn_jitting_off()
+    print "do", warmiters, "real iters:"
+    times = []
+    for i in range(warmiters):
+        gc.collect()
+        t = time.time()
+        run(threads, n)
+        times.append(time.time() - t)
+    print "warmiters:", times
+
+if __name__ == '__main__':
+    import sys
+    main(sys.argv[1:])
diff --git a/multithread/runner.py b/multithread/runner.py
--- a/multithread/runner.py
+++ b/multithread/runner.py
@@ -156,7 +156,6 @@
                 indent=4, separators=(',', ': ')))
 
 
-if __name__ != '__main__': #FIXME: emacs bug?
+if __name__ == '__main__':
     main(sys.argv[1:])
-else:
-    main(["pypy-c", "config-raytrace.json", "results.json",])
+    # main(["pypy-c", "config-mersenne.json", "results.json",])


More information about the pypy-commit mailing list