[buildd-tools-devel] Bug#546624: sbuild should not run schroot --info on every chroot separately
Nelson Elhage
nelhage at MIT.EDU
Mon Sep 14 17:27:25 UTC 2009
Package: sbuild
Version: 0.59.0-1
Severity: normal
When using schroot, sbuild runs 'schroot --list' to get a list of all
chroots on the machine, and then runs 'schroot --info' separately on
each one.
While this is fine for machines with a small number of chroots, this
results in a startup time that scales quadratically with the number of
chroots on the machine (since schroot has to read in every
configuration file each time it starts up). In the extreme case, on my
machine with hundreds of build chroots, sbuild takes over three
minutes to start up:
$ time schroot -l | while read c; do schroot --info $c >/dev/null; done
real 3m10.275s
user 2m45.626s
sys 0m21.637s
Instead, sbuild should probably run 'schroot --all --list' and extract
information about every chroot from the one listing. This operation is
fast even with huge numbers of chroots.
$ time schroot --all --list > /dev/null
real 0m0.128s
user 0m0.108s
sys 0m0.016s
-- System Information:
Debian Release: 5.0.3
APT prefers stable
APT policy: (600, 'stable'), (300, 'unstable'), (300, 'testing'), (200, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.26-2-xen-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages sbuild depends on:
ii adduser 3.110 add and remove users and groups
ii libsbuild-perl 0.59.0-1 Tool for building Debian binary pa
ii perl 5.10.0-19lenny2 Larry Wall's Practical Extraction
ii perl-modules 5.10.0-19lenny2 Core Perl modules
Versions of packages sbuild recommends:
ii debootstrap 1.0.10lenny1 Bootstrap a basic Debian system
ii fakeroot 1.11 Gives a fake root environment
Versions of packages sbuild suggests:
pn deborphan <none> (no description available)
ii wget 1.11.4-2 retrieves files from the web
-- no debconf information
More information about the Buildd-tools-devel
mailing list