perf(benchmark): measure Injector init from resolved bindings
This commit is contained in:
@ -17,6 +17,7 @@
|
||||
<button id="getChild">getChild</button>
|
||||
<button id="instantiate">instantiate</button>
|
||||
<button id="createVariety">createVariety</button>
|
||||
<button id="createVarietyResolved">createVarietyResolved</button>
|
||||
</div>
|
||||
|
||||
$SCRIPTS$
|
||||
|
@ -34,6 +34,8 @@ export function main() {
|
||||
bind(F).toValue(6)
|
||||
];
|
||||
|
||||
var variousBindingsResolved = Injector.resolve(variousBindings);
|
||||
|
||||
function getByToken() {
|
||||
for (var i = 0; i < iterations; ++i) {
|
||||
injector.get(D);
|
||||
@ -66,7 +68,16 @@ export function main() {
|
||||
*/
|
||||
function createVariety() {
|
||||
for (var i = 0; i < iterations; ++i) {
|
||||
new Injector(variousBindings);
|
||||
Injector.resolveAndCreate(variousBindings);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Same as [createVariety] but resolves bindings ahead of time.
|
||||
*/
|
||||
function createVarietyResolved() {
|
||||
for (var i = 0; i < iterations; ++i) {
|
||||
Injector.fromResolvedBindings(variousBindingsResolved);
|
||||
}
|
||||
}
|
||||
|
||||
@ -90,6 +101,10 @@ export function main() {
|
||||
'#createVariety',
|
||||
() => microBenchmark('injectAvg', iterations, createVariety)
|
||||
);
|
||||
bindAction(
|
||||
'#createVarietyResolved',
|
||||
() => microBenchmark('injectAvg', iterations, createVarietyResolved)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user