Hi, On 2009-08-31 at 17:42:17 [+0200], Michael Lotz <mmlr@xxxxxxxx> wrote: > > 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). The servers are launched into the background, which means the shell is forked and the runtime_loader runs in another thread. By inserting sleeps after launching critical servers (I'm currently doing this only when the medium is read-only), I could already reduce the bootscript time from 4 minutes down to 30 some seconds. The parallel access is really the worst of it because of all the seeks. This is obvious from just listening to the drive. What you say about page-wise reads may contribute to the fact that the drive does not appear to run at full speed (I recall it spinning *much* faster), even when there is only a single thread doing sequential reads (Installer copy process later on). The areas I would like to optimize most are the bootscript time and the delay between showing the alert window until all strings in the alert are finally rendered (more than half a minute). Best regards, -Stephan