diff options
author | Michael Leibman <michael.leibman@gmail.com> | 2013-10-12 15:34:54 -0700 |
---|---|---|
committer | Michael Leibman <michael.leibman@gmail.com> | 2013-10-12 15:34:54 -0700 |
commit | 0c3a260abef8afc9bdabad826814e49de02adb6c (patch) | |
tree | 60d1c7e2980de59de19ca7c75c6138cbbd50a52a | |
parent | 8c3cab426d7139c33af6bc39e2f4e808392d5784 (diff) | |
download | SlickGrid-0c3a260abef8afc9bdabad826814e49de02adb6c.zip SlickGrid-0c3a260abef8afc9bdabad826814e49de02adb6c.tar.gz SlickGrid-0c3a260abef8afc9bdabad826814e49de02adb6c.tar.bz2 |
Add a grid initialization benchmark.
-rw-r--r-- | slick.grid.js | 2 | ||||
-rw-r--r-- | tests/init benchmark.html | 57 |
2 files changed, 58 insertions, 1 deletions
diff --git a/slick.grid.js b/slick.grid.js index e5c7a89..b01ced1 100644 --- a/slick.grid.js +++ b/slick.grid.js @@ -298,7 +298,7 @@ if (typeof Slick === "undefined") { $container
.bind("resize.slickgrid", resizeCanvas);
$viewport
- .bind("click", handleClick)
+ //.bind("click", handleClick)
.bind("scroll", handleScroll);
$headerScroller
.bind("contextmenu", handleHeaderContextMenu)
diff --git a/tests/init benchmark.html b/tests/init benchmark.html new file mode 100644 index 0000000..8b41c84 --- /dev/null +++ b/tests/init benchmark.html @@ -0,0 +1,57 @@ +<!DOCTYPE HTML> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <title>SlickGrid Initialization Benchmark</title> + <link rel="stylesheet" href="../slick.grid.css" type="text/css" media="screen" charset="utf-8" /> + <link rel="stylesheet" href="../css/smoothness/jquery-ui-1.8.16.custom.css" type="text/css" media="screen" charset="utf-8" /> + <link rel="stylesheet" href="../examples/examples.css" type="text/css" media="screen" charset="utf-8" /> + </head> + <body> + <script src="http://code.jquery.com/jquery-1.7.2.js"></script> + <script src="../lib/jquery-ui-1.8.16.custom.min.js"></script> + <script src="../lib/jquery.event.drag-2.2.js"></script> + + <script src="../slick.core.js"></script> + <script src="../slick.grid.js"></script> + <script src="../slick.formatters.js"></script> + + <button onclick="bench(false)">Run w/o disposing</button> + <button onclick="bench(true)">Run w/ disposing</button> + + <hr/> + + <div id="container" style="width:600px;height:100000px;"></div> + + <script> + function bench(dispose) { + var startTime = new Date(); + var container = $("#container"); + for (var i = 0; i < 20; i++) { + var parentEl = $("<div style='width:600px;height:400px;'></div>").appendTo(container); + var grid = createGrid(parentEl); + if (dispose) { + grid.destroy(); + parentEl.remove(); + } + } + alert((new Date() - startTime)); + } + + function createGrid(parentEl) { + var data = [{}, {}, {}]; + var columns = []; + for (var i = 0; i < 20; i++) { + columns.push({id: "field" + i, name: "field" + i, field: "field" + i}); + } + + var options = { + enableCellNavigation: true, + enableColumnReorder: false + }; + + return new Slick.Grid(parentEl, data, columns, options); + } + </script> + </body> +</html> |