Created gh-images branch for storing images
This commit is contained in:
Executable
+40
@@ -0,0 +1,40 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import matplotlib
|
||||
matplotlib.use('SVG')
|
||||
import matplotlib.pyplot as plt
|
||||
import numpy as np
|
||||
|
||||
matplotlib.rc('font', family='sans-serif', size=11)
|
||||
matplotlib.rc('axes', titlesize='medium', labelsize='medium')
|
||||
matplotlib.rc('xtick', labelsize='small')
|
||||
matplotlib.rc('ytick', labelsize='small')
|
||||
|
||||
fig, ax = plt.subplots(figsize=(6, 3.5))
|
||||
ax.set_title('Metadata pair update cost')
|
||||
|
||||
# multiplicative cost of metadata
|
||||
def cost(r, n, size):
|
||||
cost = n + n*(r*(size/n) / ((1-r)*(size/n) + 1))
|
||||
return cost / n
|
||||
|
||||
t = np.arange(0.0, 1.0, 0.01)
|
||||
ax.plot(t, cost(t, 100, 4096))
|
||||
|
||||
ax.set_xlabel('% full')
|
||||
ax.set_xlim(0, 1)
|
||||
ax.set_ylabel('multiplicative cost')
|
||||
ax.set_ylim(0, 12)
|
||||
|
||||
xticks = np.arange(0.0, 1+0.1, 0.2)
|
||||
ax.set_xticks(xticks)
|
||||
ax.set_xticklabels(['%d%%' % (100*t) for t in xticks])
|
||||
yticks = np.arange(0, 12+1, 2)
|
||||
ax.set_yticks(yticks)
|
||||
ax.set_yticklabels(['%dx' % t for t in yticks])
|
||||
|
||||
ax.spines['right'].set_visible(False)
|
||||
ax.spines['top'].set_visible(False)
|
||||
|
||||
fig.tight_layout()
|
||||
plt.savefig('metadata-cost.svg', bbox_inches="tight")
|
||||
Reference in New Issue
Block a user