You are here

SlickGrid Model Benchmark in Slickgrid 6

File

js/slickgrid/tests/model benchmarks.html
View source
<!DOCTYPE HTML>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
		<title>SlickGrid Model Benchmark</title>
	</head>
	<body>
		<script src="../lib/firebugx.js"></script>
		<script src="../lib/jquery-1.4.3.min.js"></script>
		<script src="../slick.core.js"></script>
		<script src="../slick.dataview.js"></script>

		<script>

		var filterparam = 0;

		function filter(item) {
			// simulate a more expensive filer
			var matches = 0;
			if (item.title.indexOf("ask") != -1) matches++;
			for (var i=0; i<5; i++)
				matches += Math.random();

			return item.percentComplete >= filterparam;
		}

		var data = [];

		for (var i=0; i<20000; i++) {
			var d = (data[i] = {});

			d["id"] = i;
			d["title"] = "Task " + i;
			d["percentComplete"] = i % 100;
		}


		var dv = new Slick.Data.DataView();
		dv.beginUpdate();
		dv.setItems(data);
		dv.setFilter(filter);
		//dv.setPagingOptions({pageSize:25});
		dv.endUpdate();


		var b = new Date();

		console.time("refresh");

		for (var i = 0; i <= 100; i+=2) {
			filterparam = i;
			dv.refresh();
		}

		console.timeEnd("refresh");

		var a = new Date();
		alert(a-b);


		</script>

	</body>
</html>