billywhizz
2/20/2011 - 10:36 PM

testing try catch performance in v8/node.js

testing try catch performance in v8/node.js

function test1() {
	function test(j) {
		var s = 0;
		for (var i = 0; i < j; i++) s = i;
		for (var i = 0; i < j; i++) s = i;
		for (var i = 0; i < j; i++) s = i;
		for (var i = 0; i < j; i++) s = i;
		return s;
	}
	
	test(100000000);
	var then = new Date().getTime();
	test(100000000);
	var now = new Date().getTime();
	var seconds = (now-then)/1000;
	console.log("test1: " + seconds.toFixed(2));
}

function test2() {
	function test(j) {
		try{
			var s = 0;
			for (var i = 0; i < j; i++) s = i;
			for (var i = 0; i < j; i++) s = i;
			for (var i = 0; i < j; i++) s = i;
			for (var i = 0; i < j; i++) s = i;
			return s;
		}
		catch(ex) {
			console.log(ex);
		}
	}
	
	test(100000000);
	var then = new Date().getTime();
	test(100000000);
	var now = new Date().getTime();
	var seconds = (now-then)/1000;
	console.log("test2: " + seconds.toFixed(2));
}

function test3() {
	function test(j) {
		var s = 0;
		for (var i = 0; i < j; i++) s = i;
		for (var i = 0; i < j; i++) s = i;
		for (var i = 0; i < j; i++) s = i;
		for (var i = 0; i < j; i++) s = i;
		return s;
	}
	
	test(100000000);
	var then = new Date().getTime();
	try {
		test(100000000);
	}
	catch(ex) {
		console.log(ex);
	}
	var now = new Date().getTime();
	var seconds = (now-then)/1000;
	console.log("test3: " + seconds.toFixed(2));
}

test1();
test2();
test3();