Issue 84169

Summary: Startup optimization wrt. first start wizard
Product: General Reporter: kendy
Component: codeAssignee: Mathias_Bauer
Status: CLOSED FIXED QA Contact: issues@framework <issues>
Severity: Trivial    
Priority: P3 CC: issues
Version: 680m238   
Target Milestone: OOo 2.4   
Hardware: All   
OS: All   
Issue Type: PATCH Latest Confirmation in: ---
Developer Difficulty: ---
Attachments:
Description Flags
The patch.
none
The patch. none

Description kendy 2007-12-02 15:18:39 UTC
In some cases, it is not necessary to deploy 
com.sun.star.comp.desktop.FirstStart at all - when we show no EULA & it is not 
the first start.  libspl680*.so is not huge, but the less libraries we load on 
startup the better ;-)  

Please have a look at the attached patch - this is the least offensive version 
of course, could be extended so that the check does ~everything that is 
currently being checked in FirstStartWizard::isWizardNeeded(), because it is 
being done with every startup anyway, and there's no need to load the entire 
libspl680*.so just to check that there's nothing to do.
Comment 1 kendy 2007-12-02 15:19:54 UTC
Created attachment 50049 [details]
The patch.
Comment 2 Mathias_Bauer 2007-12-02 17:31:50 UTC
Thanks for the patch, Kendy.
Andreas, please have a look.
Comment 3 andreas.schluens 2007-12-06 13:32:50 UTC
as->kendy: These patch makes sense for an OOo installation using a native splash
screen only. Further it duplicates code which must be changed from now on two
places. If you wish to introduce these new feature in OOo please send a new
patch fixing the following issues:

a) ALL code/checks involved in FirstStartWizard:isWizardNeeded() (e.g. including
the check if the license file was update by an OOo patch) has to be moved to a
new location.

b) The old code has to be removed. Means: there must be only one place where
those check is done.

At least there will be one question: do you ever measured the time the office
will be faster after those patch was applied :-) First we should make sure the
code will do it's job right and will not bring new maintainence problem - then
we can try to increase performance. Please come back with the new patch. 

Regards
Andreas
Comment 4 kendy 2007-12-06 14:05:54 UTC
as: Sure - as I said, this is the least offensive version, and of course, I 
can provide a solution that is cleaner, but touches bigger amount of code.  If 
you generally agree with the idea, I will gladly provide that ;-)

As to the measurement - it saves about 130k of memory, and of course all the 
disk I/O + linking time.  It is probably not too much, but OTOH you wouldn't 
belive how much such small wins we can get during startup so that in the end 
it is not only measurable, but even noticeable ;-)  [Recently I found about 10 
libraries that could be avoided during startup, and filed them as separate 
issues.]
Comment 5 andreas.schluens 2007-12-06 14:21:25 UTC
as->kendy: OK - if you will can avoid loading of 10 libraries - of course it
will be measurable . So from this point of view the patch make sense. And yes -
if you provide a more clean solution avoiding duplicate code - I agree with you
and your patch :-)
Comment 6 andreas.schluens 2007-12-14 09:04:52 UTC
as->kendy: If there is a new patch available - please send these task back to me.
Comment 7 kendy 2007-12-18 20:36:23 UTC
Sure, I'll attach the new version that moves the necessary stuff to Desktop.  
Please have a look.  If OK, I can create a CWS, or please commit somewhere.

Thank you in advance!
Comment 8 kendy 2007-12-18 20:38:50 UTC
Created attachment 50445 [details]
The patch.
Comment 9 andreas.schluens 2008-01-09 14:00:05 UTC
as: patch applied on cws "fwk82" .. and it seams to work :-)
Comment 10 andreas.schluens 2008-01-16 13:16:18 UTC
as->mba: Please verify these task on cws fwk82. Wizard must be shown normaly.
Only it's place inside libs was changed.
Comment 11 andreas.schluens 2008-01-16 13:17:06 UTC
as->kendy: You should check if your optimization works now as aspected.
Comment 12 Mathias_Bauer 2008-01-16 13:37:49 UTC
I verified that the Wizard still is shown when necessary. 
Comment 13 kendy 2008-01-30 17:16:15 UTC
Just for the record, the library is not loaded when not necessary.  Sorry for 
the late reply :-(
Comment 14 Mathias_Bauer 2008-01-31 10:48:17 UTC
Thanks for the confirmation. Closing.