[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[virgo-dev] Startup optimisation
- From: Glyn Normington <gnormington@xxxxxxxxxx>
- Date: Tue, 22 Jun 2010 08:44:25 -0700
- Accept-language: en-US
- Acceptlanguage: en-US
- Delivered-to: firstname.lastname@example.org
- Thread-index: AcsSIcslRMS5fnRbROCjoS7BbfvrtQ==
- Thread-topic: Startup optimisation
I have made some fairly radical changes to logging in order to speed up Virgo performance. I based this on the relative usefulness of the various Virgo diagnostics in the field and during development. This is clearly a trade-off, but I believe everyone will benefit from the increased speed and we'll rarely, if ever, miss the log entries which are suppressed.
Prior to these changes a warm startup (without -clean) took about 1 minutes 8 seconds on my desktop machine. With these changes this goes down to around 12 seconds, an improvement of 82%. On a new laptop the improvement is less remarkable reducing the startup time from 15.4 seconds to around 14.2, an improvement of only 8%, perhaps because of slower disk speeds.
The build scripts are in a state of flux at the moment, so if you would like to try the new build, please obtain it from .
Summary of changes:
* removed in-memory logging
* removed entry/exit logging aspect's use of cflowbelow (taking advantage of Virgo having already broken the circular dependency medic<->util by suppressing logging of util)
* suppress method entry/exit logging of the kernel user region component (required to support cflowbelow removal)
* suppressed method entry/exit logging of artifact repository component
* suppressed method entry/exit logging of getter and setter methods