summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Leibman <michael.leibman@gmail.com>2013-10-12 15:34:54 -0700
committerMichael Leibman <michael.leibman@gmail.com>2013-10-12 15:34:54 -0700
commit0c3a260abef8afc9bdabad826814e49de02adb6c (patch)
tree60d1c7e2980de59de19ca7c75c6138cbbd50a52a
parent8c3cab426d7139c33af6bc39e2f4e808392d5784 (diff)
downloadSlickGrid-0c3a260abef8afc9bdabad826814e49de02adb6c.zip
SlickGrid-0c3a260abef8afc9bdabad826814e49de02adb6c.tar.gz
SlickGrid-0c3a260abef8afc9bdabad826814e49de02adb6c.tar.bz2
Add a grid initialization benchmark.
-rw-r--r--slick.grid.js2
-rw-r--r--tests/init benchmark.html57
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>