diff --git a/simrunner/data_config.json b/simrunner/data_config.json index c57965e9e5474eafc7fcc05a95cad7c430cdb0cf..77000843ee00f40a9ed82139072cd44a4c5ee008 100644 --- a/simrunner/data_config.json +++ b/simrunner/data_config.json @@ -1,122 +1,7 @@ { - "data_set_1":{ + "data_config":{ "--posixDataDir": "protokoll", "-n": "100", - "-s": "1M", - "-i": "0.1s", - "-N": "4"}, - "data_set_2":{ - "--posixDataDir": "protokoll", - "-n": "100", - "-s": "2M", - "-i": "0.1s", - "-N": "4"}, - "data_set_3":{ - "--posixDataDir": "protokoll", - "-n": "100", - "-s": "3M", - "-i": "0.1s", - "-N": "4"}, - "data_set_4":{ - "--posixDataDir": "protokoll", - "-n": "100", - "-s": "4M", - "-i": "0.1s", - "-N": "4"}, - "data_set_5":{ - "--posixDataDir": "protokoll", - "-n": "100", - "-s": "5M", - "-i": "0.1s", - "-N": "4"}, - "data_set_6":{ - "--posixDataDir": "protokoll", - "-n": "100", - "-s": "6M", - "-i": "0.1s", - "-N": "4"}, - "data_set_7":{ - "--posixDataDir": "protokoll", - "-n": "100", - "-s": "8M", - "-i": "0.1s", - "-N": "4"}, - "data_set_8":{ - "--posixDataDir": "protokoll", - "-n": "100", - "-s": "16M", - "-i": "0.1s", - "-N": "4"}, - "data_set_9":{ - "--posixDataDir": "protokoll", - "-n": "100", - "-s": "7M", - "-i": "0.1s", - "-N": "4"}, - "data_set_10":{ - "--posixDataDir": "protokoll", - "-n": "100", - "-s": "9M", - "-i": "0.1s", - "-N": "4"}, - "data_set_11":{ - "--posixDataDir": "protokoll", - "-n": "100", - "-s": "12M", - "-i": "0.1s", - "-N": "4"}, - "data_set_12":{ - "--posixDataDir": "protokoll", - "-n": "100", - "-s": "600", - "-i": "0.1s", - "-N": "4"}, - "data_set_13":{ - "--posixDataDir": "protokoll", - "-n": "100", - "-s": "1200", - "-i": "0.1s", - "-N": "4"}, - "data_set_14":{ - "--posixDataDir": "protokoll", - "-n": "100", - "-s": "2400", - "-i": "0.1s", - "-N": "4"}, - "data_set_15":{ - "--posixDataDir": "protokoll", - "-n": "100", - "-s": "4800", - "-i": "0.1s", - "-N": "4"}, - "data_set_16":{ - "--posixDataDir": "protokoll", - "-n": "100", - "-s": "9600", - "-i": "0.1s", - "-N": "4"}, - "data_set_17":{ - "--posixDataDir": "protokoll", - "-n": "100", - "-s": "60000", - "-i": "0.1s", - "-N": "4"}, - "data_set_18":{ - "--posixDataDir": "protokoll", - "-n": "100", - "-s": "120000", - "-i": "0.1s", - "-N": "4"}, - "data_set_19":{ - "--posixDataDir": "protokoll", - "-n": "100", - "-s": "240000", - "-i": "0.1s", - "-N": "4"}, - "data_set_20":{ - "--posixDataDir": "protokoll", - "-n": "100", - "-s": "480000", "-i": "0.1s", "-N": "4"} } \ No newline at end of file diff --git a/simrunner/simrunner.py b/simrunner/simrunner.py index e3db2a4d1f341d46b2a62b5d2c19732790f0860f..9acaa4307dbcc97cd6c9c3a02ae6d8c5d4bc077d 100644 --- a/simrunner/simrunner.py +++ b/simrunner/simrunner.py @@ -21,27 +21,37 @@ def start_process(program_path, arguments): def set_arguments(data_config): data_config = read_config() e_list = [] - for outer_key in data_config.keys(): - inner_dict = data_config[outer_key] - arguments = [] - for k, v in inner_dict.items(): - arguments.append(k) - arguments.append(v) - arguments.append("-o") - arguments.append(outer_key) - e_list.append(arguments) + byte_sizes = ['16', '32', '64', '128', '256', '512', '1024', '2048', '4096', '8192', + '16384', '32768', '65536', '131072', '262144', '524288', '1048576', '2097152', + '4194304', '8388608', '16777216', '33554432', '67108864'] + + for event in byte_sizes: + event_name = "Data_Set_" + event + arguments = ["-s", event] + for outer_key in data_config.keys(): + inner_dict = data_config[outer_key] + for k, v in inner_dict.items(): + arguments.append(k) + arguments.append(v) + arguments.append("-o") + arguments.append(event_name) + e_list.append(arguments) return e_list -def run_sim(e_list, d_path, s_path): +def run_sim(e_list, d_path, sim_path, st_path): for event in e_list: folder_name = event[-1] - relativ_path = os.path.join(d_path, folder_name) - os.makedirs(relativ_path, mode=0o777, exist_ok=True) - event[-1] = relativ_path + stat_file_name = "statistics_" + folder_name + relativ_path_data = os.path.join(d_path, folder_name) + relativ_path_stat = os.path.join(st_path, stat_file_name + ".dat") + os.makedirs(relativ_path_data, mode=0o777, exist_ok=True) + event[-1] = relativ_path_data arguments = event - output, errors, return_code = start_process(s_path, arguments) + output, errors, return_code = start_process(sim_path, arguments) print(output) + with open(relativ_path_stat, "w") as stat_file: + stat_file.write(output) print(errors) if return_code > 0: print("return code: ", return_code) @@ -52,11 +62,13 @@ def run_sim(e_list, d_path, s_path): main_folder = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) data_path = os.path.join(main_folder, "output1") protokoll_path = os.path.join(main_folder, "protokoll") +stat_path = os.path.join(data_path, "statistics") os.makedirs(protokoll_path, mode=0o777, exist_ok=True) -sim_path = os.path.join(os.path.dirname(__file__), "../build/src/detsim") +os.makedirs(stat_path, mode=0o777, exist_ok=True) +simulation_path = os.path.join(os.path.dirname(__file__), "../build/src/detsim") # Setup arguments for Sim event_list = set_arguments(read_config()) # Run detectorSimulation -run_sim(event_list, data_path, sim_path) +run_sim(event_list, data_path, simulation_path, stat_path) diff --git a/tests/sizeScan.bash b/tests/sizeScan.bash index 5950c42ab73a755ff7a2eef801bd6305e3afb282..99b291d1cee3b0eda6714e48bc5569964a90944f 100755 --- a/tests/sizeScan.bash +++ b/tests/sizeScan.bash @@ -22,7 +22,7 @@ TTree t("t","t"); $(ls $resultbase/*/worker-dump-*.dat | awk '{print "t.ReadFile(\"" $0 "\",\"start/D:t/D:s/I\");"}'); Double_t *binsx=new Double_t[$n+1]; binsx[0]=0.75*(1<<4); -Double_t f=TMath::Power((1.5*(1<<25))/binsx[0],1./$n); +Double_t f=TMath::Power((1binsx = .5*(1<<25))/binsx[0],1./$n); for (Int_t i=1; i<=$n; i++) {binsx[i]= binsx[i-1]*f;} Double_t *binsy=new Double_t[101]; binsy[0]=1e-6; diff --git a/visualizer/visualizer/DataFrameCreator.py b/visualizer/visualizer/DataFrameCreator.py index 0df1e33b2cdbd7f15c0e93fb0c71ba55c85226e8..50d3e94323faa0190bf53fb5c399d2295d555b52 100644 --- a/visualizer/visualizer/DataFrameCreator.py +++ b/visualizer/visualizer/DataFrameCreator.py @@ -6,11 +6,13 @@ class DataFrameCreator: def __init__(self, f_path): self.folder_path = f_path - def create_dataframes(self): + def create_dataframes_data(self): dfs = {} - - for root, _, files in os.walk(self.folder_path): - for filename in files: + for root, _, folder in os.walk(self.folder_path): + if os.path.basename(root) == "statistics": + print("this was statistic") + continue + for filename in folder: if filename.endswith('.dat'): file_path = os.path.join(root, filename) dataframe_name = os.path.splitext(filename)[0] @@ -37,3 +39,6 @@ class DataFrameCreator: merged_dfs[outer_key] = merged_dataframe_sorted return merged_dfs + + + diff --git a/visualizer/visualizer/SeabornPlotter.py b/visualizer/visualizer/SeabornPlotter.py index 2c3eb5f3714f8cd3cf9fac5aa7cbbce08d3ca639..eb53e4e2e297c824545479289dfdfb610901aefa 100644 --- a/visualizer/visualizer/SeabornPlotter.py +++ b/visualizer/visualizer/SeabornPlotter.py @@ -13,30 +13,30 @@ class SeabornPlotter: self.current_plot = None def configure_plot(self, ax): - #ax.set_xscale('log') if self.name == "idle" or self.name == "wait": ax.set_yscale('symlog', linthresh=0.1) - - else: ax.set_yscale('log') - def plot(self): df = self.dataframe x = df['size'] y = df['duration'] title = "Procedure: {}".format(self.name) - f, ax = plt.subplots(figsize=(32, 18)) - sns.boxplot(x=x, y=y, color=".15", palette="light:b") + f, ax = plt.subplots(figsize=(16, 9)) + sns.boxenplot(x=x, y=y, color=".15", palette="light:b", scale="linear") self.configure_plot(ax) + # Anpassung der Achsenbeschriftungen und des Titels + ax.set_xlabel("Data size [Bytes]") + ax.set_ylabel("Time/Event [s]") plt.title(title) - plt.xlabel("Size of written data in ms") - plt.ylabel("Duration") - plt.savefig(title) + + plt.grid(True) + plt.xticks(rotation=45) + plt.savefig(title + ".svg", format='svg') plt.show() diff --git a/visualizer/visualizer/main.py b/visualizer/visualizer/main.py index 5afc90ac1d9de0f8464801401cbf70ee37fc081b..7235961d0cd27c1b45133fb45f2e1ffdf43376fe 100644 --- a/visualizer/visualizer/main.py +++ b/visualizer/visualizer/main.py @@ -16,7 +16,7 @@ def main(): # Import Data creator = DataFrameCreator(data_path) - dataframes = creator.create_dataframes() + dataframes = creator.create_dataframes_data() for frame in dataframes.keys(): if not dataframes[frame].empty: # Setup Plotter