Index: benchmark/baselines/calc.py
===================================================================
--- benchmark/baselines/calc.py	(revision c6f1f3ebf65fd583f3f052ae0aed817e4ce7f4fc)
+++ benchmark/baselines/calc.py	(revision c6f1f3ebf65fd583f3f052ae0aed817e4ce7f4fc)
@@ -0,0 +1,27 @@
+#!/usr/bin/python3
+
+import sys
+
+if len(sys.argv) != 3:
+	print("Usage: %s baseline.csv result.csv" % sys.argv[0], file=sys.stderr)
+	exit(1)
+
+with open(sys.argv[1]) as baseline, open(sys.argv[2]) as result:
+	contentB = baseline.read().splitlines()
+	contentR = result  .read().splitlines()
+	headerB = contentB[0].split(',')
+	headerR = contentR[0].split(',')
+	valuesB = [float(v) for v in contentB[1].split(',')]
+	valuesR = [float(v) for v in contentR[1].split(',')]
+
+	dataB = {label: value for label, value in zip(headerB, valuesB)}
+	dataR = {label: value for label, value in zip(headerR, valuesR)}
+
+	if set(dataB) - set(dataR) or set(dataR) - set(dataB):
+		print("Error: baseline and result differ in number of values", file=sys.stderr)
+		exit(2)
+
+	out = {label : "{0:.3f}".format(num / dataB[label]) for label, num in dataR.items()}
+
+	print(','.join( out.keys() ))
+	print(','.join( out.values() ))
Index: benchmark/baselines/x64/compile.csv
===================================================================
--- benchmark/baselines/x64/compile.csv	(revision c6f1f3ebf65fd583f3f052ae0aed817e4ce7f4fc)
+++ benchmark/baselines/x64/compile.csv	(revision c6f1f3ebf65fd583f3f052ae0aed817e4ce7f4fc)
@@ -0,0 +1,2 @@
+attributes,typeof,array,monitor,empty,expression,io,operators
+4.575416666666667,3.378541666666667,3.571875,255.95166666666663,3.4189583333333324,3.578125,293.9122916666668,3.563541666666666
Index: benchmark/baselines/x64/ctxswitch.csv
===================================================================
--- benchmark/baselines/x64/ctxswitch.csv	(revision c6f1f3ebf65fd583f3f052ae0aed817e4ce7f4fc)
+++ benchmark/baselines/x64/ctxswitch.csv	(revision c6f1f3ebf65fd583f3f052ae0aed817e4ce7f4fc)
@@ -0,0 +1,2 @@
+coroutine,thread,generator
+31.045337499999988,76.85271458333335,2.0151035416666665
Index: benchmark/baselines/x64/mutex.csv
===================================================================
--- benchmark/baselines/x64/mutex.csv	(revision c6f1f3ebf65fd583f3f052ae0aed817e4ce7f4fc)
+++ benchmark/baselines/x64/mutex.csv	(revision c6f1f3ebf65fd583f3f052ae0aed817e4ce7f4fc)
@@ -0,0 +1,2 @@
+1-monitor,2-monitor
+40.213872916666666,70.85164583333331
Index: benchmark/baselines/x64/signal.csv
===================================================================
--- benchmark/baselines/x64/signal.csv	(revision c6f1f3ebf65fd583f3f052ae0aed817e4ce7f4fc)
+++ benchmark/baselines/x64/signal.csv	(revision c6f1f3ebf65fd583f3f052ae0aed817e4ce7f4fc)
@@ -0,0 +1,2 @@
+waitfor-2,signal-1,signal-2,waitfor-1
+393.69606249999987,325.99158333333327,409.01025000000004,319.90975000000003
Index: benchmark/baselines/x86/compile.csv
===================================================================
--- benchmark/baselines/x86/compile.csv	(revision c6f1f3ebf65fd583f3f052ae0aed817e4ce7f4fc)
+++ benchmark/baselines/x86/compile.csv	(revision c6f1f3ebf65fd583f3f052ae0aed817e4ce7f4fc)
@@ -0,0 +1,2 @@
+empty,expression,operators,typeof,array,monitor,io,attributes
+3.7012244897959197,3.8785714285714294,3.898163265306122,3.7202040816326525,3.7569387755102026,264.9081632653059,319.54408163265316,4.86795918367347
Index: benchmark/baselines/x86/ctxswitch.csv
===================================================================
--- benchmark/baselines/x86/ctxswitch.csv	(revision c6f1f3ebf65fd583f3f052ae0aed817e4ce7f4fc)
+++ benchmark/baselines/x86/ctxswitch.csv	(revision c6f1f3ebf65fd583f3f052ae0aed817e4ce7f4fc)
@@ -0,0 +1,2 @@
+coroutine,generator,thread
+33.10828367346939,3.189955102040816,112.80995918367347
Index: benchmark/baselines/x86/mutex.csv
===================================================================
--- benchmark/baselines/x86/mutex.csv	(revision c6f1f3ebf65fd583f3f052ae0aed817e4ce7f4fc)
+++ benchmark/baselines/x86/mutex.csv	(revision c6f1f3ebf65fd583f3f052ae0aed817e4ce7f4fc)
@@ -0,0 +1,2 @@
+2-monitor,1-monitor
+88.02230408163267,54.31430408163266
Index: benchmark/baselines/x86/signal.csv
===================================================================
--- benchmark/baselines/x86/signal.csv	(revision c6f1f3ebf65fd583f3f052ae0aed817e4ce7f4fc)
+++ benchmark/baselines/x86/signal.csv	(revision c6f1f3ebf65fd583f3f052ae0aed817e4ce7f4fc)
@@ -0,0 +1,2 @@
+signal-2,waitfor-1,waitfor-2,signal-1
+532.5297959183672,413.3084897959184,506.7579591836735,423.78826530612247
