1
+ setTimeout ( function ( ) {
2
+
3
+ // Initial load & render metrics
4
+
5
+ metrics . afterRenderAsync = now ( )
6
+ console . log ( 'Vue load : ' + ( metrics . afterLoad - metrics . beforeLoad ) . toFixed ( 2 ) + 'ms' )
7
+ console . log ( 'Render sync : ' + ( metrics . afterRender - metrics . beforeRender ) . toFixed ( 2 ) + 'ms' )
8
+ console . log ( 'Render async : ' + ( metrics . afterRenderAsync - metrics . beforeRender ) . toFixed ( 2 ) + 'ms' )
9
+ console . log ( 'Total sync : ' + ( metrics . afterRender - metrics . beforeLoad ) . toFixed ( 2 ) + 'ms' )
10
+ console . log ( 'Total async : ' + ( metrics . afterRenderAsync - metrics . beforeLoad ) . toFixed ( 2 ) + 'ms' )
11
+
12
+ // Benchmark
13
+ // add 100 items
14
+ // toggle them one by one
15
+ // then delete them one by one
16
+
17
+ var benchSetting = window . location . search . match ( / \b b e n c h m a r k = ( \d + ) / )
18
+ if ( ! benchSetting ) return
19
+
20
+ var itemsToAdd = + benchSetting [ 1 ] ,
21
+ render ,
22
+ bench ,
23
+ addTime ,
24
+ toggleTime ,
25
+ removeTime
26
+
27
+ var start = now ( ) ,
28
+ last
29
+
30
+ add ( )
31
+
32
+ function add ( ) {
33
+ last = now ( )
34
+ var newTodo = '12345'
35
+ for ( var i = 0 ; i < itemsToAdd ; i ++ ) {
36
+ app . newTodo = newTodo
37
+ app . addTodo ( )
38
+ }
39
+ setTimeout ( toggle , 0 )
40
+ }
41
+
42
+ function toggle ( ) {
43
+ addTime = now ( ) - last
44
+ var checkboxes = document . querySelectorAll ( '.toggle' )
45
+ //for (var j = 0; j < 5; j++) {
46
+ for ( var i = 0 ; i < checkboxes . length ; i ++ ) {
47
+ checkboxes [ i ] . click ( )
48
+ }
49
+ //}
50
+ last = now ( )
51
+ setTimeout ( remove , 0 )
52
+ }
53
+
54
+ function remove ( ) {
55
+ toggleTime = now ( ) - last
56
+ var deleteButtons = document . querySelectorAll ( '.destroy' ) ;
57
+ for ( var i = 0 ; i < deleteButtons . length ; i ++ ) {
58
+ deleteButtons [ i ] . click ( )
59
+ }
60
+ last = now ( )
61
+ setTimeout ( report , 0 )
62
+ }
63
+
64
+ function report ( ) {
65
+ bench = now ( ) - start
66
+ removeTime = now ( ) - last
67
+ console . log ( '\nBenchmark x ' + itemsToAdd )
68
+ console . log ( 'add : ' + addTime . toFixed ( 2 ) + 'ms' )
69
+ console . log ( 'toggle : ' + toggleTime . toFixed ( 2 ) + 'ms' )
70
+ console . log ( 'remove : ' + removeTime . toFixed ( 2 ) + 'ms' )
71
+ console . log ( 'total : ' + bench . toFixed ( 2 ) + 'ms' )
72
+ }
73
+
74
+ } , 0 )
0 commit comments