Archive for July, 2009
I mentioned in this post that the number of Runnable events processed during startup was significant. I’ve got a log of the events that are processed as well as the time it takes to do so in µsec. It’s missing a few events that take less than 10 µsec, but they’re mostly irrelevant. This is [...]
I had a few questions on how I’m measuring startup, so here’s how. This is similar to what our tinderboxes do, and it’s easy to run locally. First, grab startup.html and save it somewhere. This html file expects the start time in milliseconds to come after a # mark, so to invoke it, you’d want [...]
I mentioned a few days ago that the bulk of our startup time is taken up by processing events, after we enter our main event loop. Here’s the set of events that take longer than 10us that gets processed during startup (on all threads, though this is mostly just main thread stuff). Working on getting [...]
Today was having fun with filesystem caches day. Firefox warm start: ~820ms Firefox cold start: ~11200ms Now let’s manually preread some things (via tar chf /dev/null), after purging: preread app dir/profile dir, start: ~7800-8500ms preread system libs: ~7800ms-8600ms preread both: ~7800ms-8600ms So somewhere we’re missing 7000ms worth of IO. Staring at Shark, dtrace, etc. to [...]
I’ve been digging into startup time for the past little while, looking at both warm and cold startup, and trying to figure out where some of the pain lies. So far I’ve only been looking at MacOS X, mainly because it has an easy way to flush filesystem caches (“purge”); I’d be doing this work [...]
AboutYou are currently browsing the Vladimir Vukićević weblog archives for July, 2009 . Longer entries are truncated. Click the headline of an entry to read it in its entirety. |
||||