|
10 | 10 | REPORT_NAME = "artifacts/output/rq4.csv" |
11 | 11 | TEX_REPORT_NAME = "artifacts/output/rq4.tex" |
12 | 12 |
|
13 | | -CALC_NAMES = ['Vanilla', 'Improved'] |
| 13 | +RAW_NAMES = ['Vanilla', 'Improved'] |
| 14 | +CALC_NAMES = ['Vanilla', 'Improved', 'Overhead'] |
14 | 15 |
|
15 | 16 | propertyShortNames = { |
16 | 17 | "TestSmartByteSerializer#canRoundTripBytes": 'byte', |
@@ -153,21 +154,24 @@ def main(): |
153 | 154 | df = pd.DataFrame() |
154 | 155 | for project in PROJECTS: |
155 | 156 | final_dataset[project]['_style'] = '' |
156 | | - proj_mean_and_std = final_dataset[project][CALC_NAMES].copy() |
| 157 | + proj_mean_and_std = final_dataset[project][RAW_NAMES].copy() |
157 | 158 | vanilla_mean = pd.DataFrame(proj_mean_and_std['Vanilla'].apply(lambda v: float(v.split(" \u00B1 ")[0]) if |
158 | 159 | " \u00B1 " in str(v) else np.nan)).reset_index() |
159 | 160 | improved_mean = pd.DataFrame(proj_mean_and_std['Improved'].apply(lambda v: float(v.split(" \u00B1 ")[0]) if |
160 | 161 | " \u00B1 " in str(v) else np.nan)).reset_index() |
161 | 162 |
|
162 | | - proj_stats = pd.merge(vanilla_mean.copy(), improved_mean.copy(), how='outer', on='index')[CALC_NAMES] |
163 | | - final_dataset[project]['Difference'] = proj_stats[['Vanilla', 'Improved']].pct_change(axis='columns')['Improved'] |
164 | | - proj_mean = pd.merge(vanilla_mean, improved_mean, how='outer', on='index')[CALC_NAMES].mean() |
| 163 | + proj_stats = pd.merge(vanilla_mean, improved_mean, how='outer', on='index')[RAW_NAMES].reset_index() |
| 164 | + |
| 165 | + final_dataset[project]['Overhead'] = proj_stats[['Improved']].values / proj_stats[['Vanilla']].values |
| 166 | + overhead_stats = final_dataset[project]['Overhead'].copy().reset_index() |
| 167 | + |
| 168 | + proj_mean = pd.merge(proj_stats, overhead_stats, how='outer', on='index')[CALC_NAMES].mean() |
165 | 169 | proj_mean['_style'] = 'BOLD' |
166 | 170 | proj_mean['N'] = '' |
167 | 171 | proj_mean['Property'] = 'Average' |
168 | 172 | final_dataset[project].loc['mean'] = proj_mean |
169 | 173 |
|
170 | | - header = dict(zip(['N', 'Property', 'Vanilla', 'Improved', 'Difference'], ['', '', '', '', ''])) |
| 174 | + header = dict(zip(['N', 'Property', 'Vanilla', 'Improved', 'Overhead'], ['', '', '', '', ''])) |
171 | 175 | df = pd.concat([ |
172 | 176 | df, |
173 | 177 | pd.DataFrame(header | {'_style': 'HEADER', 'Property': project}, index=[0]), |
@@ -203,6 +207,5 @@ def main(): |
203 | 207 | tf.write(outTable) |
204 | 208 |
|
205 | 209 |
|
206 | | - |
207 | 210 | if __name__ == "__main__": |
208 | 211 | main() |
0 commit comments