[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