Index: Jenkins/FullBuild
===================================================================
--- Jenkins/FullBuild	(revision 0ef06b6dcc0208ee9962c59001a8d55e882ff2a4)
+++ Jenkins/FullBuild	(revision ae28ee20f0d70377b0ce541ee588c0ebf230dd9a)
@@ -1,4 +1,59 @@
 #!groovy
 
+//===========================================================================================================
+// Main loop of the compilation
+//===========================================================================================================
+
+node ('master') {
+	def err = null
+
+	try {
+		//Prevent the build from exceeding 30 minutes
+		timeout(60) {
+
+			//Wrap build to add timestamp to command line
+			wrap([$class: 'TimestamperBuildWrapper']) {
+
+				stage 'Build'
+
+					results = [null, null]
+
+					parallel (
+						x64: {
+							trigger_build('64-bit')
+						},
+						x32: {
+							trigger_build('32-bit')
+						}
+					)
+
+				//Push latest changes to do-lang repo
+				push_build()
+			}
+		}
+	}
+
+	//If an exception is caught we need to change the status and remember to
+	//attach the build log to the email
+	catch (Exception caughtError) {
+		echo('error caught')
+
+		//rethrow error later
+		err = caughtError
+
+		//Store the result of the build log
+		currentBuild.result = 'FAILURE'
+
+		//Send email to notify the failure
+		promote_failure_email()
+	}
+
+	finally {
+		//Must re-throw exception to propagate error
+		if (err) {
+			throw err
+		}
+	}
+}
 //===========================================================================================================
 // Main compilation routines
@@ -69,59 +124,4 @@
 
 //===========================================================================================================
-// Main loop of the compilation
-//===========================================================================================================
-
-node ('master') {
-	def err = null
-
-	try {
-		//Prevent the build from exceeding 30 minutes
-		timeout(60) {
-
-			//Wrap build to add timestamp to command line
-			wrap([$class: 'TimestamperBuildWrapper']) {
-
-				stage 'Build'
-
-					results = [null, null]
-
-					parallel (
-						x64: {
-							trigger_build('64-bit')
-						},
-						x32: {
-							trigger_build('32-bit')
-						}
-					)
-
-				//Push latest changes to do-lang repo
-				push_build()
-			}
-		}
-	}
-
-	//If an exception is caught we need to change the status and remember to
-	//attach the build log to the email
-	catch (Exception caughtError) {
-		echo('error caught')
-
-		//rethrow error later
-		err = caughtError
-
-		//Store the result of the build log
-		currentBuild.result = 'FAILURE'
-
-		//Send email to notify the failure
-		promote_failure_email()
-	}
-
-	finally {
-		//Must re-throw exception to propagate error
-		if (err) {
-			throw err
-		}
-	}
-}
-//===========================================================================================================
 //Routine responsible of sending the email notification once the build is completed
 //===========================================================================================================
Index: Jenkinsfile
===================================================================
--- Jenkinsfile	(revision 0ef06b6dcc0208ee9962c59001a8d55e882ff2a4)
+++ Jenkinsfile	(revision ae28ee20f0d70377b0ce541ee588c0ebf230dd9a)
@@ -31,7 +31,4 @@
 				//Compile latex documentation
 				doc_build()
-
-				//Run benchmark and save result
-				benchmark()
 
 				if( bIsFullBuild ) {
@@ -194,4 +191,15 @@
 		}
 
+	build_stage 'Benchmark'
+
+		//Write the commit id to Benchmark
+		writeFile( 'bench.csv', 'data=' + env.CHANGE_ID + ',' )
+ 
+		//Append bench results
+		sh 'make -C src/benchmark csv-data >> bench.csv'
+
+		//Then publish the results
+		sh 'curl --data @bench.csv http://plg2/~cforall/cgi-bin/publish.cgi'
+
 	build_stage 'Cleanup'
 
@@ -235,20 +243,4 @@
 			make_doc()
 		}
-}
-
-def benchmark() {
-	stage 'Benchmark'
-
-		status_prefix = 'Documentation'
-
-		// //We can't just write to a file outside our repo
-		// //Copy the file locally using ssh
-		// sh 'scp plg2.cs.uwaterloo.ca:/u/cforall/public_html/perf-history/concurrency.csv bench.csv'
-
-		// //Then append to the local file
-		// sh 'make -C src/benchmark csv-data >> bench.csv'
-
-		// //Then publish the file again
-		// sh 'scp bench.csv plg2.cs.uwaterloo.ca:/u/cforall/public_html/perf-history/concurrency.csv'		
 }
 
Index: src/benchmark/csv-data.c
===================================================================
--- src/benchmark/csv-data.c	(revision 0ef06b6dcc0208ee9962c59001a8d55e882ff2a4)
+++ src/benchmark/csv-data.c	(revision ae28ee20f0d70377b0ce541ee588c0ebf230dd9a)
@@ -84,4 +84,4 @@
 int main()
 {
-	sout | time(NULL) | "," | measure_coroutine() | "," | measure_thread() | endl;
+	sout | measure_coroutine() | "," | measure_thread() | endl;
 }
