private void displayCompResults(List<MapperCompJvmCost> cMapperJvmCostList, List<ReducerCompJvmCost> cReducerJvmCostList, 
			String mapperFile, String reducerFile, String jobName) throws IOException {
		File mFile = new File(mapperFile);
		File rFile = new File(reducerFile);
		
		if(!mFile.getParentFile().exists()) 
			mFile.getParentFile().mkdirs();
		if(!rFile.getParentFile().exists())
			rFile.getParentFile().mkdirs();
		
		PrintWriter cMapperWriter = new PrintWriter(new FileWriter(mFile));
		PrintWriter cReducerWriter = new PrintWriter(new FileWriter(rFile));
		
		//cMapperWriter.println("--------------------------------Mapper Comparison--------------------------------");
		cMapperWriter.println("xmx" + "\t" + "xms" + "\t" + "ismb" + "\t" + "RN" + "\t" + "Bytes" + "\t" 
			
			+ "rxOU" + "\t" + "exOU" + "\t" + "diff" + "\t"
			+ "rmNGU" + "\t" + "rxNGU" + "\t" + "exNGU" + "\t" + "mDiff" + "\t" + "rDiff" + "\t"
			
			+ "rnOU" + "\t" + "enOU" + "\t" + "diff" + "\t" 
			+ "rnNGU" + "\t" + "enNGU" + "\t" + "diff" + "\t"
			
			+ "rnHeapU" + "\t" + "enHeapU" + "\t" + "diff" + "\t"
			+ "rxHeapU" + "\t" + "exHeapU" + "\t" + "diff" + "\t"
			+ "rnRSS" + "\t" + "rxRSS" + "\t" + "HRDiff" + "\t"
			
			+ "rnEdenU" + "\t" + "rxEdenU" + "\t"
			+ "rxS0U" + "\t" + "rxS1U" + "\t" 
			+ "enTempObj" + "\t" + "exTempObj" + "\t" + "enFix" + "\t" + "exFix" + "\t"
			+ "OGC" + "\t" + "OGCMX" + "\t" + "NGC" + "\t" + "NGCMX" + "\t" + "EdenC" + "\t" + "S0C" + "\t" 
			+ "mYGC" + "\t" + "mFGC" + "\t" + "mTime" + "\t" + "reason");
		
		for(MapperCompJvmCost cJvmCost : cMapperJvmCostList)
			cMapperWriter.println(cJvmCost);
		
		
		
		//cReducerWriter.println("--------------------------------Redcucer Comparison-------------------------------");
		cReducerWriter.println("xmx" + "\t" + "xms" + "\t" + "ismb" + "\t" + "RN" + "\t"
			+ "rmOU" + "\t" + "rxOU" + "\t" + "exOU" + "\t" + "mDiff" + "\t" + "xDiff" + "\t"
			+ "rmNGU" + "\t" + "rxNGU" + "\t" + "exNGU" + "\t" + "mDiff" + "\t" + "xDiff" + "\t"
			
			+ "rnOU" + "\t" + "enOU" + "\t" + "diff" + "\t"
			+ "rnNGU" + "\t" + "enNGU" + "\t" + "diff" + "\t"
			
			+ "rnHeapU" + "\t" + "enHeapU" + "\t" + "diff" + "\t"
			+ "rxHeapU" + "\t" + "exHeapU" + "\t" + "diff" + "\t"
			+ "rnRSS" + "\t" + "rxRSS" + "\t" + "HRDiff" + "\t"
			
			+ "IMSB" + "\t" + "MergB" + "\t" + "ShufMB" + "\t"
			+ "nRedIn" + "\t" + "xRedIn" + "\t"
			
			+ "rnEdenU" + "\t" + "rxEdenU" + "\t"
			+ "rnS0U" + "\t" + "rxS0U" + "\t" + "rnS1U" + "\t" + "rxS1U" + "\t" 
			+ "enSSTObj" + "\t" + "exSSTObj" + "\t" + "enRTObj" + "\t" + "exRTObj" + "\t" 
			+ "enFix" + "\t" + "exFix" + "\t"
			+ "OGC" + "\t" + "OGCMX" + "\t" + "NGC" + "\t" + "NGCMX" + "\t" + "EdenC" + "\t" + "S0C" + "\t" 
			+ "rnRecords" + "\t" + "rxRecords" + "\t" + "nYGC" + "\t" + "nFGC" + "\t" + "mTime" + "\t" + "reason");
		
		for(ReducerCompJvmCost cJvmCost : cReducerJvmCostList) 
			cReducerWriter.println(cJvmCost);
		
		cMapperWriter.close();
		cReducerWriter.close();
		
		System.out.println("[" + jobName + "] JvmCost comparison finished");
		
	}