Skip to content

Commit 8d35a66

Browse files
committed
cleanup
* add case without Score-P * disable tracing * reduce calls to built-in functions
1 parent 3e87d1f commit 8d35a66

4 files changed

Lines changed: 31 additions & 17 deletions

File tree

benchmark/benchmark.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,26 @@
1111
results = {}
1212

1313
for test in tests:
14-
results[test] = {"profile": {}, "trace": {}, "dummy": {}}
15-
for elem in results[test]:
16-
scorep_settings = ["--instrumenter-type={}".format(elem)]
14+
results[test] = {"profile": {}, "trace": {}, "dummy": {}, "None": {}}
15+
for instrumenter in results[test]:
16+
if instrumenter is "None":
17+
enable_scorep = False
18+
scorep_settings = []
19+
else:
20+
enable_scorep = True
21+
scorep_settings = ["--instrumenter-type={}".format(instrumenter)]
22+
1723
print("#########")
1824
print("{}: {}".format(test, scorep_settings))
1925
print("#########")
2026
for reps in ["1000", "10000", "100000", "1000000", "10000000"]:
2127
times = bench.call(
2228
test,
2329
[reps],
30+
enable_scorep,
2431
scorep_settings=scorep_settings)
25-
results[test][elem][reps] = times
32+
results[test][instrumenter][reps] = times
2633
print("{:<8}: {}".format(reps, times))
2734

2835
with open("results.pkl", "wb") as f:
29-
pickle.dump(results,f)
36+
pickle.dump(results, f)

benchmark/benchmark_helper.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,14 @@
33
import shutil
44
import sys
55
import time
6+
from IPython.core.magic_arguments import argument
67

78

89
class BenchmarkEnv():
910
def __init__(self, repetitions=10):
1011
self.env = os.environ.copy()
1112
self.env["SCOREP_ENABLE_PROFILING"] = "false"
12-
self.env["SCOREP_ENABLE_TRACING"] = "true"
13+
self.env["SCOREP_ENABLE_TRACING"] = "false"
1314
self.env["SCOREP_PROFILING_MAX_CALLPATH_DEPTH"] = "98"
1415
self.env["SCOREP_TOTAL_MEMORY"] = "3G"
1516
self.exp_dir = "benchmark_dir"
@@ -26,16 +27,14 @@ def __del__(self):
2627
# self.exp_dir,
2728
# ignore_errors=True)
2829

29-
def call(self, script="", ops=[], scorep_settings=[]):
30-
"""
31-
return a triple with (returncode, stdout, stderr) from the call to subprocess
32-
"""
33-
30+
def call(self, script="", ops=[], enable_scorep=True, scorep_settings=[]):
3431
self.env["SCOREP_EXPERIMENT_DIRECTORY"] = self.exp_dir + \
3532
"/{}-{}-{}".format(script, ops, scorep_settings)
3633

37-
arguments = [sys.executable, "-m", "scorep"]
38-
arguments.extend(scorep_settings)
34+
arguments = [sys.executable]
35+
if enable_scorep:
36+
arguments.extend(["-m", "scorep"])
37+
arguments.extend(scorep_settings)
3938
arguments.append(script)
4039
arguments.extend(ops)
4140

benchmark/test_1.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
import sys
22

33
result = 0
4-
for i in range(int(sys.argv[1])):
4+
iterations = int(sys.argv[1])
5+
iteration_list = list(range(iterations))
6+
7+
for i in iteration_list:
58
result += 1
6-
print(result)
9+
10+
assert(result == iterations)

benchmark/test_2.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ def add(val):
1111

1212

1313
result = 0
14-
for i in range(int(sys.argv[1])):
14+
iterations = int(sys.argv[1])
15+
iteration_list = list(range(iterations))
16+
17+
for i in iteration_list:
1518
result = add(result)
16-
print(result)
19+
20+
assert(result == iterations)

0 commit comments

Comments
 (0)