[pypy-commit] benchmarks multithread-runner: fix and start of get_results script

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


Author: Remi Meier <remi.meier at gmail.com>
Branch: multithread-runner
Changeset: r360:c066151a4c13
Date: 2016-05-28 10:07 +0200
http://bitbucket.org/pypy/benchmarks/changeset/c066151a4c13/

Log:	fix and start of get_results script

diff --git a/multithread/get_results.py b/multithread/get_results.py
new file mode 100755
--- /dev/null
+++ b/multithread/get_results.py
@@ -0,0 +1,57 @@
+#!/usr/bin/python
+
+import os
+import sys
+import json
+
+
+
+def main(argv):
+    results_file = argv[0]
+    assert os.path.exists(results_file)
+
+    with open(results_file, 'r') as f:
+        results = json.loads(f.read())
+
+    print "RUNS:", len(results)
+    for run_key, run in results.iteritems():
+        res_over_run = {}
+
+        print "###", "RUN", run_key, "###"
+        print "python:", run['python']
+        print "python-version:", run['python-version'].strip()
+        print "hg-id:", run['hg-id'].strip()
+        run_results = run['results']
+        print "RESULTS:", len(run_results)
+
+        print "BENCHMARKS:", run_results.keys()
+        for bench_key, bench_res in run_results.items():
+            print "BENCHMARK:", bench_key
+            if 'fail_reason' in bench_res:
+                print "FAILED:", bench_res
+            else:
+                timings = bench_res['timings']
+                failures = bench_res['failures']
+                print "timings:", len(timings), "failures:", len(failures)
+                res_over_run.setdefault(bench_key, []).extend(timings)
+                if failures:
+                    print "############# THERE ARE FAILURES! #############"
+                    #print "fail reasons:", failures
+                    #import pdb;pdb.set_trace()
+        print ""
+        print "RESULTS OF RUN:"
+        for bench_key, timings in res_over_run.items():
+            print "BENCH", bench_key
+            # group timings by thread (multiple vmstarts)
+            threads = results[run_key]['config']['defaults']['threads']
+            grouped = [[] for _ in range(max(threads))]
+            for t in timings:
+                grouped[t['threads'] - 1].extend(t['warmiters'])
+            for ts in threads:
+                print "TS:", ts, "times:", grouped[ts - 1]
+        print ""
+        print ""
+
+
+if __name__ == '__main__':
+    main(sys.argv[1:])
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
@@ -5,7 +5,7 @@
 import time, random
 from common.abstract_threading import (
     atomic, Future, set_thread_pool, ThreadPool,
-    hint_commit_soon, print_abort_info)
+    hint_commit_soon, print_abort_info, turn_jitting_off)
 
 import itertools
 from collections import deque


More information about the pypy-commit mailing list