Env (same as bonsai used)
- Portage 2.1.6.9
- Paludis 0.36.0
- hot kernel cache
- no metadata cache in gentoo repo
- no package manager on-disk cache (nuked
/var/cache/edb/dep
and/var/cache/paludis/metadata/gentoo
)
# time emerge -puD sys-apps/portage real 5m32.896s user 3m36.263s sys 1m53.655s # time paludis -ip sys-apps/portage real 1m31.509s user 1m0.432s sys 0m32.432s # time paludis -ip sys-apps/portage -E portage (bonsai doesn't have a paludis config) real 1m36.575s user 1m2.969s sys 0m36.501s
And with cold kernel cache (
echo 3 > /proc/sys/vm/drop_caches
)# time emerge -puD sys-apps/portage real 6m25.499s user 3m34.228s sys 1m53.624s # time paludis -ip sys-apps/portage real 2m38.976s user 1m3.312s sys 0m38.318
So reading the necessary ebuilds (and friends) takes roughly a minute on my box.
A little curiosity as a bonus:
# strace -e file paludis -ip sys-apps/portage 2>&1 | wc -l 14219 # strace -e file emerge -puD sys-apps/portage 2>&1 | wc -l 32240
Interesting difference, let's look closer at what portage does:
access("/var/lib/gentoo/repositories/gentoo/sys-devel/autoconf/autoconf-2.63.ebuild", stat("/var/lib/gentoo/repositories/gentoo/sys-devel/autoconf/autoconf-2.63.ebuild", open("/var/cache/edb/dep/var/lib/gentoo/repositories/gentoo/sys-devel/autoconf-2.63", stat("/var/lib/gentoo/repositories/gentoo/sys-devel/autoconf/autoconf-2.63.ebuild", getcwd("/etc"..., lstat("/var", lstat("/var/lib", lstat("/var/lib/gentoo", lstat("/var/lib/gentoo/repositories", lstat("/var/lib/gentoo/repositories/gentoo", lstat("/home", lstat("/home/data", lstat("/home/data/distfiles", lstat("/usr", lstat("/usr/portage", lstat("/usr/portage/rpm", lstat("/var", lstat("/var/tmp", stat("/var/tmp/portage/sys-devel/autoconf-2.63/temp/environment", stat("/usr/bin/sandbox", access("/usr/bin/sandbox",And the same for each ebuild read from the repo. Highlighted lines are interesting...
There's more idiotic stuff going on with portage. One interesting thing is a lot of useless calls to access()
ReplyDeleteI call bullshit. It takes all of 20 seconds to emerge Portage (i.e. no -p) on my box.
ReplyDeleteI think you are misunderstanding what was tested here:
ReplyDelete# no metadata cache in gentoo repo
# no package manager on-disk cache (nuked /var/cache/edb/dep and /var/cache/paludis/metadata/gentoo)
So, basically not the same thing Patrick benchmarked and not something that you could consider a common scenario, isn't it?
ReplyDeleteNo, exactly what bonsai benchmarked. See my next post for extra clarification.
ReplyDeleteHow about moving the view source / print etc. boxes outside the listings? Can't see the first lines in full ;)
ReplyDeleteThank you for writing this
ReplyDelete