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