Skip to content

Instantly share code, notes, and snippets.

@frgomes
Last active April 25, 2018 12:24
Show Gist options
  • Save frgomes/da986b185bf89b716ecd7661d887f911 to your computer and use it in GitHub Desktop.
Save frgomes/da986b185bf89b716ecd7661d887f911 to your computer and use it in GitHub Desktop.
import numpy as np
def secs(ms): return ms / 1000
header = ['recs','elapsed','cleanse','kvpairs','wdict','wschema','wtable','rdict','rschema','rtable','wcsv']
data = np.loadtxt('metrics.csv',
delimiter = ',',
dtype = {'names' : ( header ),
'formats': ( 'i4','i4','i4','i4','i4','i4','i4','i4','i4','i4','i4' )})
recs = data['recs']
elapsed = list(map(secs, data['elapsed']))
cleanse = list(map(secs, data['cleanse']))
kvpairs = list(map(secs, data['kvpairs']))
wdict = list(map(secs, data['wdict']))
wschema = list(map(secs, data['wschema']))
wtable = list(map(secs, data['wtable']))
rdict = list(map(secs, data['rdict']))
rschema = list(map(secs, data['rschema']))
rtable = list(map(secs, data['rtable']))
wcsv = list(map(secs, data['wcsv']))
## only relevant fields are displayed.
legend = ['elapsed','wdict','wtable','rdict','rtable']
stack = np.row_stack( (elapsed, wdict, wtable, rdict, rtable) )
colors = ['#043488', '#265644', '#C80500', '#508111', '#724055']
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
plt.plot(recs, elapsed, color = colors[0])
plt.plot(recs, wdict, color = colors[1])
plt.plot(recs, wtable, color = colors[2])
plt.plot(recs, rdict, color = colors[3])
plt.plot(recs, rtable, color = colors[4])
plt.legend([mpatches.Patch(color = colors[0]),
mpatches.Patch(color = colors[1]),
mpatches.Patch(color = colors[2]),
mpatches.Patch(color = colors[3]),
mpatches.Patch(color = colors[4])], legend, loc = 'upper left')
plt.xlabel('records')
plt.ylabel('t(s)')
# This assumes you named a folder so that it reflects the intent of the data in it.
import os
import re
parts = re.split('/', os.getcwd())
basename = parts[-1]
plt.title('Metrics - ' + basename)
plt.savefig('metrics.png')
# optionally opens the chart for visualization immediately
# plt.show()
@frgomes
Copy link
Author

frgomes commented Apr 19, 2018

metrics.csv

1000,1704,780,83,274,8,56,257,11,129,106
2000,866,151,33,96,1,59,199,2,168,157
5000,1732,287,41,201,0,160,329,2,332,380
7500,2423,382,37,281,1,237,446,2,523,514
10000,3110,479,53,322,1,341,603,1,620,690
25000,8331,1283,150,706,1,1420,1498,1,1521,1751
50000,16786,2591,333,1286,1,3646,2824,2,2896,3207
75000,26411,3773,536,2046,1,6643,4040,1,4493,4878
100000,37891,4948,738,2475,1,12265,5594,2,5524,6344
250000,129765,12760,2172,5800,0,65870,14234,1,13647,15281
500000,488127,27895,4466,12467,0,352012,27839,2,31216,32230
991392,1825706,65405,10085,28999,1,1535462,47608,2,65292,72852

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment