Index: src/benchmark/csv-data.c
===================================================================
--- src/benchmark/csv-data.c	(revision e0b8ccd507fd6f9deca073c6ae833b591286ccc3)
+++ src/benchmark/csv-data.c	(revision bd951f7a08aaeaa715017f38d25b15e941c3bb12)
@@ -1,3 +1,4 @@
 #include <fstream>
+#include <monitor>
 #include <stdlib>
 #include <thread>
@@ -28,6 +29,6 @@
 #endif
 
-
-
+//-----------------------------------------------------------------------------
+// coroutine context switch
 long long int measure_coroutine() {
 	const unsigned int NoOfTimes = N;
@@ -47,4 +48,6 @@
 }
 
+//-----------------------------------------------------------------------------
+// thread context switch
 long long int measure_thread() {
 	const unsigned int NoOfTimes = N;
@@ -60,6 +63,47 @@
 }
 
+//-----------------------------------------------------------------------------
+// single monitor entry
+monitor mon_t {};
+void dummy( mon_t * mutex m ) {}
+
+long long int measure_1_monitor_entry() {
+	const unsigned int NoOfTimes = N;
+	long long int StartTime, EndTime;
+	mon_t mon;
+
+	StartTime = Time();
+	for ( volatile unsigned int i = 0; i < NoOfTimes; i += 1 ) {
+		dummy( &mon );
+	}
+	EndTime = Time();
+
+	return ( EndTime - StartTime ) / NoOfTimes;
+}
+
+//-----------------------------------------------------------------------------
+// multi monitor entry
+void dummy( mon_t * mutex m1,  mon_t * mutex m2 ) {}
+
+long long int measure_2_monitor_entry() {
+	const unsigned int NoOfTimes = N;
+	long long int StartTime, EndTime;
+	mon_t mon1, mon2;
+
+	StartTime = Time();
+	for ( volatile unsigned int i = 0; i < NoOfTimes; i += 1 ) {
+		dummy( &mon1, &mon2 );
+	}
+	EndTime = Time();
+
+	return ( EndTime - StartTime ) / NoOfTimes;
+}
+
 int main()
 {
-	sout | time(NULL) | ',' | measure_coroutine() | ',' | measure_thread() | endl;
+	sout | time(NULL) | ',';
+	sout | measure_coroutine() | ',';
+	sout | measure_thread() | ',';
+	sout | measure_1_monitor_entry() | ',';
+	sout | measure_2_monitor_entry() | endl;
 }
