In [1]:
import pandas as pd
import matplotlib.pyplot as plt
In [2]:
import json
In [17]:
results = json.load(open("/work/eng/eliavb/all_distance_sketch/result.json"))
In [18]:
df = pd.DataFrame.from_dict(results)
In [19]:
df.head()
Out[19]:
In [20]:
data_sets = list(set(df.data_set.values))
for data_set_ in data_sets:
df_ = df[df.data_set == data_set_]
single_thread_time = df_[df_.num_threads == 1].time.values[0]
print data_set_, single_thread_time
df.ix[df.data_set == data_set_, "time"] = df[df.data_set == data_set_]["time"] / single_thread_time
In [7]:
df.head()
Out[7]:
In [8]:
def get_name(data_set):
if "facebook" in data_set:
return "Facebook"
if "live_journal" in data_set:
return "Live journal"
if "tweeter" in data_set:
return "Twitter"
if "youtube" in data_set:
return "YouTube"
if "slashdot" in data_set:
return "Slashdot"
In [15]:
data_sets = list(set(df.data_set.values))
x_axis = range(1,15)
labels = []
plotHandles = []
plt.figure(figsize=(12,7))
for data_set_ in data_sets:
df_ = df[df.data_set == data_set_]
x, = plt.plot(x_axis, df_.time.values)
plotHandles.append(x)
labels.append(get_name(data_set_))
plt.axis([1, 14, 0, 1])
plt.xlabel('#threads', fontsize="large")
plt.ylabel('Speedup', fontsize="large")
plt.legend(plotHandles, labels, 'upper right',ncol=1)
Out[15]:
In [55]:
df[df.data_set == "/users/eng/eliavb/data/tweeter"]
Out[55]:
In [ ]: