Index: benchmark/plot.py
===================================================================
--- benchmark/plot.py	(revision 0bb691b19aef344575635376308340de3c5025e0)
+++ benchmark/plot.py	(revision 5c028aca37f98ac589b1636ac6cc0634fc6bf234)
@@ -20,26 +20,27 @@
 from matplotlib.ticker import EngFormatter
 
-def funit(name):
-	match = re.search("Number of (.*)", name)
-	if match:
-		return match.group(1).strip()
+class Field:
+	def __init__(self, unit, _min):
+		self.unit = unit
+		self.min  = _min
 
-	match = re.search("\((.*)\)", name)
-	if match:
-		return match.group(1).strip()
-
-	match = re.search("(.*) per .*", name)
-	if match:
-		return match.group(1).strip()
-
-	match = re.search("(.*)\/.*", name)
-	if match:
-		return match.group(1).strip()
-
-	return "Unkown"
+field_names = {
+	"ns per ops"           : Field('ns'    , 0),
+	"Number of processors" : Field(''      , 1),
+	"Ops per procs"        : Field('Ops'   , 0),
+	"Ops per threads"      : Field('Ops'   , 0),
+	"ns per ops/procs"     : Field('ns'    , 0),
+	"Number of threads"    : Field('thrd'  , 1),
+	"Total Operations(ops)": Field('Ops'   , 0),
+	"Ops/sec/procs"        : Field('Ops'   , 0),
+	"Total blocks"         : Field('Blocks', 0),
+	"Ops per second"       : Field('Ops'   , 0),
+	"Cycle size (# thrds)" : Field('thrd'  , 1),
+	"Duration (ms)"        : Field('ms'    , 0),
+}
 
 def plot(data, x, y):
 	fig, ax = plt.subplots()
-	colors = itertools.cycle(["r", "b", "g"])
+	colors = itertools.cycle(['#0095e3','#006cb4','#69df00','#0aa000','#fb0300','#e30002','#fd8f00','#ff7f00','#8f00d6','#4b009a','#ffff00','#b13f00'])
 	series = {}
 	for entry in data:
@@ -58,12 +59,12 @@
 
 	plt.ylabel(y)
-	plt.xlim(0.75, mx + 0.25)
+	plt.xlim(field_names[x].min, mx + 0.25)
 	plt.xticks(range(1, math.ceil(mx) + 1))
 	plt.xlabel(x)
-	plt.ylim(0, my*1.2)
+	plt.ylim(field_names[y].min, my*1.2)
 	plt.grid(b = True)
-	formatter0 = EngFormatter(unit='Ops/s')
-	ax.yaxis.set_major_formatter(formatter0)
-	plt.legend()
+	ax.xaxis.set_major_formatter( EngFormatter(unit=field_names[x].unit) )
+	ax.yaxis.set_major_formatter( EngFormatter(unit=field_names[y].unit) )
+	plt.legend(loc='upper left')
 	plt.show()
 
@@ -105,5 +106,5 @@
 	print("fields")
 	for f in fields:
-		print("{} ({})".format(f, funit(f)))
+		print("{}".format(f))
 
-	plot(data, "Number of processors", "Ops per second")
+	plot(data, "Number of processors", "ns per ops")
