From 9dd2a85f0c68f80a7691d7f8ee286e5303a9884b Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Wed, 27 Feb 2019 13:42:46 +0100 Subject: improve download of dj delorie workloads --- src/dj_trace.py | 37 ++++++++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/dj_trace.py b/src/dj_trace.py index d61e64d..f16fb42 100644 --- a/src/dj_trace.py +++ b/src/dj_trace.py @@ -99,15 +99,42 @@ class Benchmark_DJ_Trace(Benchmark): if not os.path.isdir("dj_workloads"): os.mkdir("dj_workloads") + download_all = None + wl_sizes = {"dj": "14M", "oocalc": "65M", "mt_test_one_alloc": "5.7M", + "proprietary-1": "2.8G", "qemu-virtio": "34M", + "proprietary-2": "92M", "qemu-win7": "23M", + "389-ds-2": "3.4G", "dj2": "294M"} + for wl in self.args["workload"]: file_name = wl + ".wl" file_path = os.path.join("dj_workloads", file_name) if not os.path.isfile(file_path): - if input("want to download " + wl + " [Y/n] ") in ["", "Y", "y"]: - url = "http://www.delorie.com/malloc/" + file_name - urlretrieve(url, file_path, reporthook) - sys.stderr.write("\n") - return True + if download_all == None: + download_all = input(("Download all workloads (~6.7GB)" + " [Y/n] ")) in ["", "Y", "y"] + if (not download_all and + input("want to download {} ({}) [Y/n] ".format(wl, wl_sizes[wl])) not in ["", "Y", "y"]): + continue + + if download_all: + print("downloading {} ({}) ...".format(wl, wl_sizes[wl])) + + url = "http://www.delorie.com/malloc/" + file_name + urlretrieve(url, file_path, reporthook) + sys.stderr.write("\n") + + available_workloads = [] + for wl in self.args["workload"]: + file_name = wl + ".wl" + file_path = os.path.join("dj_workloads", file_name) + if os.path.isfile(file_path): + available_workloads.append(wl) + + if len(available_workloads) > 0: + self.args["workload"] = available_workloads + return True + + return False def process_output(self, result, stdout, stderr, allocator, perm, verbose): def to_int(s): -- cgit v1.2.3