Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import matplotlib.pyplot as plt
from config import markers, colors
from memcached_qps_scan import extract_qps_latency
import os
experiments = [
"memcached_qps_scan.5.15.79-peter.first4.t8.c20", # vanilla
"memcached_qps_scan.5.15.79-peter.kernel_polling.first4.t8.c20", # kernel polling
]
names = [
"vanilla",
"kernel polling (patched)",
]
def show_plot():
plt.cla()
plt.title('Memcached QPS vs Latency (99th percentile), 4 + 4 cores / NUMA')
data = extract_qps_latency(experiments)
for i in range(len(experiments)):
k = experiments[i]
display_name = names[i]
plt.errorbar(data[k][0], data[k][1], yerr = data[k][2], capsize = 4, label = display_name, marker = markers[display_name], color = colors[display_name])
plt.xlabel('QPS')
plt.ylabel('Latency (99th percentile)')
plt.yscale('log')
plt.xlim(xmin = 0)
plt.legend()
if os.getenv('SAVE_FIGURE') != 'true':
plt.rcParams.update({'font.size': 16})
plt.show()
else:
plt.savefig('../data/figs/memcached_qps_scan_numa.png', dpi = 192)
show_plot()