File tree Expand file tree Collapse file tree 2 files changed +62
-0
lines changed Expand file tree Collapse file tree 2 files changed +62
-0
lines changed Original file line number Diff line number Diff line change @@ -89,5 +89,6 @@ <h1>todos</h1>
89
89
< script src ="../../dist/vue.js "> </ script >
90
90
< script src ="js/store.js "> </ script >
91
91
< script src ="js/app.js "> </ script >
92
+ < script src ="js/benchmark.js "> </ script >
92
93
</ body >
93
94
</ html >
Original file line number Diff line number Diff line change
1
+ // Benchmark
2
+ // add 100 items
3
+ // toggle them one by one
4
+ // then delete them one by one
5
+
6
+ // do not run when testing in PhantomJS
7
+ if ( navigator . userAgent . indexOf ( 'PhantomJS' ) === - 1 ) {
8
+ runBenchmark ( )
9
+ }
10
+
11
+ function runBenchmark ( ) {
12
+
13
+ var now = window . performance && window . performance . now
14
+ ? function ( ) { return window . performance . now ( ) ; }
15
+ : Date . now ,
16
+ beforeRender = now ( ) ,
17
+ render ,
18
+ sync ,
19
+ async
20
+
21
+ setTimeout ( function ( ) {
22
+
23
+ render = now ( ) - beforeRender
24
+
25
+ var start = now ( ) ,
26
+ newTodo = '12345'
27
+
28
+ for ( var i = 0 ; i < 100 ; i ++ ) {
29
+ app . newTodo = newTodo
30
+ app . addTodo ( )
31
+ }
32
+ setTimeout ( toggle , 0 )
33
+
34
+ function toggle ( ) {
35
+ var checkboxes = document . querySelectorAll ( '.toggle' )
36
+ for ( var i = 0 ; i < checkboxes . length ; i ++ ) {
37
+ checkboxes [ i ] . click ( )
38
+ }
39
+ setTimeout ( del , 0 )
40
+ }
41
+
42
+ function del ( ) {
43
+ var deleteButtons = document . querySelectorAll ( '.destroy' ) ;
44
+ for ( var i = 0 ; i < deleteButtons . length ; i ++ ) {
45
+ deleteButtons [ i ] . click ( )
46
+ }
47
+ report ( )
48
+ }
49
+
50
+ function report ( ) {
51
+ sync = now ( ) - start
52
+ setTimeout ( function ( ) {
53
+ async = now ( ) - start
54
+ console . log ( 'render: ' + render . toFixed ( 2 ) + 'ms' )
55
+ console . log ( 'sync: ' + sync . toFixed ( 2 ) + 'ms' )
56
+ console . log ( 'async: ' + async . toFixed ( 2 ) + 'ms' )
57
+ } , 0 )
58
+ }
59
+ } , 0 )
60
+
61
+ }
You can’t perform that action at this time.
0 commit comments