36 lines
900 B
Python
36 lines
900 B
Python
import matplotlib.pyplot as plt
|
|
import seaborn as sns
|
|
import pandas as pd
|
|
import numpy as np
|
|
|
|
df = pd.read_csv("pim_results.csv")
|
|
|
|
workloads = df["workload"].unique()
|
|
|
|
sns.set_theme()
|
|
|
|
def calc_speedup(x):
|
|
return x.iat[0] / x.iat[1]
|
|
|
|
for workload in df["workload"].unique():
|
|
workload_filter = df["workload"] == workload
|
|
|
|
filtered_df = df[workload_filter]
|
|
preprocessed_df = filtered_df.groupby(["workload", "level", "frequency"], as_index=False).agg({"ticks": calc_speedup}).rename(columns={"ticks":"speedup"})
|
|
|
|
# print(preprocessed_df)
|
|
# preprocessed_df.to_csv("plot.csv", index=False)
|
|
|
|
g = sns.catplot(
|
|
data=preprocessed_df, kind="bar",
|
|
x="level", y="speedup", hue="frequency",
|
|
palette="dark", alpha=.6, height=6
|
|
)
|
|
|
|
g.despine(left=True)
|
|
g.set_axis_labels("", "Speedup")
|
|
g.set(title=workload)
|
|
g.legend.set_title("")
|
|
|
|
plt.show()
|