File tree Expand file tree Collapse file tree 1 file changed +30
-0
lines changed Expand file tree Collapse file tree 1 file changed +30
-0
lines changed Original file line number Diff line number Diff line change @@ -631,6 +631,36 @@ or with a single container ``register_loader_containers(container)`` multiple ti
631631To unregister a container use ``unregister_loader_containers(container) ``.
632632Wiring module will uninstall the import hook when unregister last container.
633633
634+ Few notes on performance
635+ ------------------------
636+
637+ ``.wire() `` utilize caching to speed up the wiring process. At the end it clears the cache to avoid memory leaks.
638+ But this may not always be desirable, when you want to keep the cache for the next wiring
639+ (e.g. due to usage of multiple containers or during unit tests).
640+
641+ To keep the cache after wiring, you can set flag ``keep_cache=True `` (works with ``WiringConfiguration `` too):
642+
643+ .. code-block :: python
644+
645+ container1.wire(
646+ modules = [" yourapp.module1" , " yourapp.module2" ],
647+ keep_cache = True ,
648+ )
649+ container2.wire(
650+ modules = [" yourapp.module2" , " yourapp.module3" ],
651+ keep_cache = True ,
652+ )
653+ ...
654+
655+ and then clear it manually when you need it:
656+
657+ .. code-block :: python
658+
659+ from dependency_injector.wiring import clear_cache
660+
661+ clear_cache()
662+
663+
634664 Integration with other frameworks
635665---------------------------------
636666
You can’t perform that action at this time.
0 commit comments