Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(197)

Side by Side Diff: samples/third_party/dromaeo/tests/dom-modify-htmlfast.dart

Issue 9732019: dart:html perf optimization based on runing Dromaeo benchmarks (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Ready for review Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 #library("dom_modify_html");
2 #import("dart:html");
3 #import("dart:json");
4 #source("Common.dart");
5 #source("RunnerSuite.dart");
6
7 void main() {
8 final int num = 400;
9
10 String str = 'null';
11 // Very ugly way to build up the string, but let's mimic JS version as much as possible.
12 for (int i = 0; i < 1024; i++) {
13 str += new String.fromCharCodes([((25 * Math.random()) + 97).toInt()]);
14 }
15
16 List<Node> elems = <Node>[];
17
18 // Try to force real results.
19 var ret;
20
21 final htmlstr = document.body.innerHTML;
22
23 new Suite(window, 'dom-modify')
24 .test('createElement', () {
25 for (int i = 0; i < num; i++) {
26 ret = new Element.tag('div');
27 ret = new Element.tag('span');
28 ret = new Element.tag('table');
29 ret = new Element.tag('tr');
30 ret = new Element.tag('select');
31 }
32 })
33 .test('createTextNode', () {
34 for (int i = 0; i < num; i++) {
35 ret = new Text(str);
36 ret = new Text('${str}2');
37 ret = new Text('${str}3');
38 ret = new Text('${str}4');
39 ret = new Text('${str}5');
40 }
41 })
42 .test('innerHTML', () {
43 document.body.innerHTML = htmlstr;
44 })
45 .prep(() {
46 elems = new List<Node>();
47 final telems = document.body.nodes;
48 for (int i = 0; i < telems.length; i++) {
49 elems.add(telems[i]);
50 }
51 })
52 .test('cloneNode', () {
53 for (int i = 0; i < elems.length; i++) {
54 ret = elems[i].clone(false);
55 ret = elems[i].clone(true);
56 ret = elems[i].clone(true);
57 }
58 })
59 .test('appendChild', () {
60 for (int i = 0; i < elems.length; i++)
61 document.body.$dom_appendChild(elems[i]);
62 })
63 .test('insertBefore', () {
64 for (int i = 0; i < elems.length; i++)
65 document.body.insertBefore(elems[i], document.body.$dom_firstChild);
66 })
67 .end();
68 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698