File tree Expand file tree Collapse file tree 3 files changed +34
-1
lines changed
Expand file tree Collapse file tree 3 files changed +34
-1
lines changed Original file line number Diff line number Diff line change @@ -80,4 +80,21 @@ describe('ng2 di benchmark', function () {
8080 } ) . then ( done , done . fail ) ;
8181 } ) ;
8282
83+ /**
84+ * Same as 'createVariety' benchmark but operates on fully resolved bindings.
85+ */
86+ it ( 'should log the stats for createVarietyResolved' , function ( done ) {
87+ perfUtil . runClickBenchmark ( {
88+ url : URL ,
89+ buttons : [ '#createVarietyResolved' ] ,
90+ id : 'ng2.di.createVarietyResolved' ,
91+ params : [ {
92+ name : 'iterations' , value : 10000 , scale : 'linear'
93+ } ] ,
94+ microMetrics : {
95+ 'injectAvg' : 'avg time for createVarietyResolved (in ms)'
96+ }
97+ } ) . then ( done , done . fail ) ;
98+ } ) ;
99+
83100} ) ;
Original file line number Diff line number Diff line change @@ -17,6 +17,7 @@ <h2>Actions</h2>
1717< button id ="getChild "> getChild</ button >
1818< button id ="instantiate "> instantiate</ button >
1919< button id ="createVariety "> createVariety</ button >
20+ < button id ="createVarietyResolved "> createVarietyResolved</ button >
2021</ div >
2122
2223$SCRIPTS$
Original file line number Diff line number Diff line change @@ -34,6 +34,8 @@ export function main() {
3434 bind ( F ) . toValue ( 6 )
3535 ] ;
3636
37+ var variousBindingsResolved = Injector . resolve ( variousBindings ) ;
38+
3739 function getByToken ( ) {
3840 for ( var i = 0 ; i < iterations ; ++ i ) {
3941 injector . get ( D ) ;
@@ -66,7 +68,16 @@ export function main() {
6668 */
6769 function createVariety ( ) {
6870 for ( var i = 0 ; i < iterations ; ++ i ) {
69- new Injector ( variousBindings ) ;
71+ Injector . resolveAndCreate ( variousBindings ) ;
72+ }
73+ }
74+
75+ /**
76+ * Same as [createVariety] but resolves bindings ahead of time.
77+ */
78+ function createVarietyResolved ( ) {
79+ for ( var i = 0 ; i < iterations ; ++ i ) {
80+ Injector . fromResolvedBindings ( variousBindingsResolved ) ;
7081 }
7182 }
7283
@@ -90,6 +101,10 @@ export function main() {
90101 '#createVariety' ,
91102 ( ) => microBenchmark ( 'injectAvg' , iterations , createVariety )
92103 ) ;
104+ bindAction (
105+ '#createVarietyResolved' ,
106+ ( ) => microBenchmark ( 'injectAvg' , iterations , createVarietyResolved )
107+ ) ;
93108}
94109
95110
You can’t perform that action at this time.
0 commit comments