function RunArrayTest() {
	var startTime = new Date();
	
	var chain = new Array();	
	var iterations = 0;
	var now = new Date();
	while (now.getTime()-startTime.getTime()<LengthPerTest) {
	
		chain.push(String.fromCharCode( Math.floor((122-64)*Math.random()) + 65 ));
		chain.push(String.fromCharCode( Math.floor((122-64)*Math.random()) + 65 ));
		chain.push(chain.shift());
		chain.sort();
		chain.reverse();
		
		iterations += 1;
		now = new Date();
	}
		
	var adjustedLength;
	adjustedLength = iterations/(now.getTime()-startTime.getTime());
	return adjustedLength;
}
function RunDatesTest() {
	var startTime = new Date();
	
	var pHarbor = new Date('December 7, 1941 07:48:00');
	var iterations = 0;
	var now = new Date();
	while (now.getTime()-startTime.getTime()<LengthPerTest) {
		
		var monthNum = Math.floor((12)*Math.random()) + 1;
		var dayNum = Math.floor((31)*Math.random()) + 1;
		var yearNum = Math.floor((2050-1049)*Math.random()) + 1050; //Year between 1050 and 2050
		
		var dtDate = new Date(Date.parse(monthNum+'/'+dayNum+'/'+yearNum));
		var DOW = dtDate.getDay();
		var dtDiff = dtDate - pHarbor;
		
		iterations += 1;
		now = new Date();
	}
		
	var adjustedLength;
	adjustedLength = iterations/(now.getTime()-startTime.getTime());
	return adjustedLength;
}
function RunExceptionTest() {
	var startTime = new Date();

	var errorArray = new Array();
	var iterations = 0;
	var now = new Date();
	while (now.getTime()-startTime.getTime()<LengthPerTest) {
	
		try {
			throw new Error('Unhandled ugly error');
		}
		catch (e) {
			errorArray.push(e.message);
		}
		finally {
			errorArray.push('Gracefully handled');
		}
		
		iterations += 1;
		now = new Date();
	}
		
	var adjustedLength;
	adjustedLength = iterations/(now.getTime()-startTime.getTime());
	return adjustedLength;
}