[haiku-development] Re: Do optional packages need to include everything they do?

  • From: "Michael Lotz" <mmlr@xxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Mon, 31 Aug 2009 16:42:17

Hi Stephan

> Ok, I am measured the speed of certain stages (MM:SS):
> 
> * time to rocket icon lighting up:                    00:15

Mostly burst read of the tgz boot archive, unzipping and running stuff 
from memory, some loading of additional modules after finding boot 
volume, so not problematic.

> * time from rocket item lighting up to blue desktop   04:10 (!)

Bootscript running, loading up some servers that are necessary and some 
that aren't. You won't get around the registrar, app_server and input_
server. These load the servers, the libraries they use and cause modules 
to get loaded (graphics, input drivers). And there is also syslog_
daemon, debug_server and net_server, which aren't necessary for the 
installer. If you remove these, or rather move these past the 
invokation of the CD bootscript, you should see quite a drop there. 
Note that the net_server is launched before the app_server right now.

> * time to alert                                       00:16

That should be mostly only the input_server starting up, as that one is 
launched by the app_server, so possibly after the blue desktop becomes 
visible.

> * time to Installer note                              00:38

That should really only be the Installer loading plus any additional 
library not in memory by now.

> * time to Installer main window                       00:14

I wouldn't really know why this takes so long, maybe scanning disks and 
loading of the corresponding modules delays this one.

> I have an idea how I can optimize some of these...

You can't really except for (re-)moving the non-necessary servers. 
Maybe reducing parallel access could help, but really after the app_
server launch there shouldn't really be too much parallel going on. I'm 
currently looking through the kernel to check a few problematic places 
(i.e. where large reads are split up into page wise reads).

Regards
Michael

Other related posts: