Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

All containers to have scopes. #89

Closed
LordZoltan opened this issue Mar 4, 2019 · 0 comments

Comments

@LordZoltan
Copy link
Member

commented Mar 4, 2019

The code generation in v1.0 has branching for when there is or isn't a scope - which makes the code slower.

It also heavily relied on baking dynamic lambdas and passing them as arguments even for implicitly scoped objects (i.e. where, if IDisposable, they just need to be tracked for disposal as opposed to being limited to a single instance per scope.

Solution - Make all containers have a Scope. This will be the default scope for Resolve operations which don't provide an explicit ResolveContext. This scope will, by default not perform any instance tracking; and will not support explicitly scoped objects (throw an exception). It will be capable of creating child scopes.

Change the activation of implicitly and explicitly scoped objects so that no delegate is required for implicit, which should give rise to a large increase in performance for the majority case.

@LordZoltan LordZoltan added this to the 2.0 milestone Mar 4, 2019

@LordZoltan LordZoltan self-assigned this Mar 4, 2019

@LordZoltan LordZoltan added this to In progress in Rezolver Board Mar 18, 2019

@LordZoltan LordZoltan moved this from In progress to Developed in Rezolver Board Mar 18, 2019

@LordZoltan LordZoltan closed this Jul 24, 2019

Rezolver Board automation moved this from Developed to Done Jul 24, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
1 participant
You can’t perform that action at this time.