At this point there is no such beast.  createInjector() is a builder, and 
creates an intact Injector.  

Having said that, you could do something like this with child injectors, but I 
worry that you would be swapping in a child injector for its parent in a 
running system, and there are a hell of a lot of concurrency issues at play 
with that.

But the way you describe… incrementally adding more modules to an existing 
injector - that sort of goes against the design of Guice, which is that the 
injector is built with all the information it needs to satisfy bindings.  

We need to do more work on profiling and I think Jesse has some ideas on 
removing reflection from the mix, but I haven't really gotten a chance to talk 
a lot of that through.  But start-up times are a definite thing I'm going to be 
looking at in the next while.  
multiinder
A few questions on that… are you doing initialization work in your 
constructors/providers?  Can you separate out expensive operations into service 
startup methods, and maybe use a MulltiBinder to register services, and have 
them started up separately?  A lot of startup times can be mitigated by doing 
less work in the wiring itself, which is already not recommended.  I don't know 
your design, so I can only comment abstractly. 

Christian

On Jun 20, 2012, at 8:34 AM, glenviewjeff wrote:

> I'm developing using Guice on Android via Roboguice, and reflection and other 
> operations that Guice uses for binding are horrifically slow.  Before I 
> started optimizing my Guice modules, it was taking about 15 seconds for the 
> app to start.
> 
> I'm wondering if I could start with a simple injector that configures just 
> the modules necessary to start up the main screen of the application, and 
> then perform the remaining configuration on a background thread.  To do this, 
> I wouldn't want to repeat the work done in the first createInjector, and 
> ideally would do something like injector.addModules(...), which of course 
> does not exist.  
> 
> Is there a way to do this?
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "google-guice" group.
> To view this discussion on the web visit 
> https://groups.google.com/d/msg/google-guice/-/bFax3gkE66oJ.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/google-guice?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"google-guice" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-guice?hl=en.

Reply via email to