| Summary: | Application::GetSettings() takes a long time to run | ||
|---|---|---|---|
| Product: | LibreOffice | Reporter: | Chris Sherlock <chris.sherlock79> |
| Component: | sdk | Assignee: | Chris Sherlock <chris.sherlock79> |
| Status: | RESOLVED INVALID | ||
| Severity: | normal | ||
| Priority: | medium | ||
| Version: | Inherited From OOo | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
| Crash report or crash signature: | Regression By: | ||
|
Description
Chris Sherlock
2014-12-10 00:33:32 UTC
Got it - the issue is the DefaultFontConfiguration constructor. On my VM it is taking about 22 seconds, where the total load time is just over 28 seconds! Strike... it's Components::getSingleton() that's taking the time! This is an issue deep inside the way that we get the Component singleton the very first time. We basically parse every config file we can find, which takes forever. Issue is in here: configmgr/source/configurationprovider.cxx - function is Service::createInstanceWithArguments() calls on: Components::getSingleton() - this function is in configmgr/source/components.cxx That calls on a static Component theComponentsSingleton, which invokes Component::Component - this parses every config file known to man. Profiling of the way that it handles the configuration could potentially speed up LO startup. This is actually an SDK issue - configmgr is the problem here. Methinks that I need to look into this later. Probably a combination of the way I'm compiling and using all languages. |