| <!DOCTYPE html> |
| <html> |
| <body> |
| <script src="../resources/runner.js"></script> |
| <script> |
| // Taken from http://jsperf.com/parse-html-type |
| // The major difference between this test and innerHTML-setter.html |
| // is that innerHTML-setter creates a single root node |
| // which avoids some of the costs in transplating nodes from the |
| // intermediary DocumentFragment to its final parent. |
| var tags = '<div></div><div></div><div></div><div></div><div></div>'; |
| var attr = '<div foo="bar" foo="bar" foo="bar" foo="bar sda"></div>'; |
| var nest = '<div><div><div><div><div></div></div></div></div></div>'; |
| |
| var tags10 = tags + tags + tags + tags + tags + tags + tags + tags + tags + tags; |
| var attr10 = attr + attr + attr + attr + attr + attr + attr + attr + attr + attr; |
| var nest10 = nest + nest + nest + nest + nest + nest + nest + nest + nest + nest; |
| |
| var div = document.createElement('div'); |
| |
| PerfTestRunner.measureRunsPerSecond({ |
| description: "This benchmark tests innerHTML setter for a large DOM tree", |
| run: function() { |
| div.innerHTML = tags10; |
| div.innerHTML = attr10; |
| div.innerHTML = nest10; |
| div.innerHTML = ""; |
| }}); |
| </script> |
| </body> |
| </html> |