Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
configadmin-1.8.0
-
None
Description
The ConfigurationManager#listConfigurations is far from optimal.
It iterates on all configurations, thereby creating a copy of the properties for each configuration. Then, for each configuration, filter#match() is called, which itself create a case insentive copy of the properties for matching.
If you have quite a lot of configurations and quite a lof of SCR components, it can be quite time consuming.
Attached is a YourKit profile view which shows that 90% of the time is spent into copying properties for nothing.
Possible patch at
https://github.com/gnodet/felix/commit/d6bf5ae7a82094feb367f223a03da9644b3d996d