'emerge sync' takes 40 minutes to complete on a 600 MHz VIA Samuel 2 with 1GB RAM. Reproducible: Always Steps to Reproduce: 1. emerge sync 2. wait Actual Results: 40 minutes Expected Results: about 10 minutes Portage 2.0.51.22-r2 (default-linux/x86/2005.1, gcc-3.3.6, glibc-2.3.5-r1, 2.6.12-gentoo-r6 i686) ================================================================= System uname: 2.6.12-gentoo-r6 i686 VIA Samuel 2 Gentoo Base System version 1.6.13 ccache version 2.3 [enabled] dev-lang/python: 2.3.5-r2 sys-apps/sandbox: 1.2.10 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i586-pc-linux-gnu" CFLAGS="-march=i586 -m3dnow -O3 -pipe -fomit-frame-pointer -mmmx" CHOST="i586-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/ config /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=i586 -m3dnow -O3 -pipe -fomit-frame-pointer -mmmx" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks sandbox sfperms strict" GENTOO_MIRRORS="ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ ftp://mirrors.sec.informatik.tu-darmstadt.de/gentoo/" LANG="en_US.UTF-8" LC_ALL="en_US.UTF-8" MAKEOPTS="-j1" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 alsa apm arts avi berkdb bitmap-fonts crypt cups eds emboss encode foomaticdb fortran gdbm gif gpm gstreamer imlib ipv6 jpeg ldap libg++ libwww mad mikmod mp3 mpeg ncurses nls nptl nptlonly ogg oggvorbis oss pam pdflib perl png postgres python readline samba slang spell ssl svga tcpd tiff unicode vorbis xml xml2 xmms xv zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LDFLAGS, LINGUAS, PORTDIR_OVERLAY
Most pointless bug contest will be eventually announced; putting this one on my private list of hot candidates. :=) Meanwhile closing CANTFIX - get a faster line/disk/machine/whatever.
> Meanwhile closing CANTFIX - get a faster line/disk/machine/whatever. 1. It is not a problem of slow hardware. 2. It is not a bandwidth problem. Most time emerge spent in 'updating portage cache'. No other CPU intensive processes were running. It is worth noting that a subsequent 'emerge sysnc' took only five minutes.
I have a similar problem. The "updating portage cache" bit gets to about 50% fairly quickly, and then grinds to a crawl. When I look at the files that are being used using lsof, I see something weird... the .cpickle files are getting written over and over with differing sizes. From my perspective (i.e. not knowing how they're generated), this seems very very wrong. Look at the size column in this output (the column after 3,7): #while true; do lsof |grep portage; done emerge 23530 root 0w REG 3,7 176128 180065 /var/cache/edb/dep/usr/portage/kde-base-eclass.cpickle emerge 23530 root 0w REG 3,7 311296 180065 /var/cache/edb/dep/usr/portage/kde-base-eclass.cpickle emerge 23530 root 0w REG 3,7 577536 180065 /var/cache/edb/dep/usr/portage/kde-base-eclass.cpickle emerge 23530 root 0w REG 3,7 552960 180065 /var/cache/edb/dep/usr/portage/kde-base-eclass.cpickle emerge 23530 root 0w REG 3,7 716800 180065 /var/cache/edb/dep/usr/portage/kde-base-eclass.cpickle emerge 23530 root 0w REG 3,7 716800 180065 /var/cache/edb/dep/usr/portage/kde-base-eclass.cpickle emerge 23530 root 0w REG 3,7 135168 180065 /var/cache/edb/dep/usr/portage/kde-base-eclass.cpickle emerge 23530 root 0w REG 3,7 278528 180065 /var/cache/edb/dep/usr/portage/kde-base-eclass.cpickle emerge 23530 root 0w REG 3,7 278528 180065 /var/cache/edb/dep/usr/portage/kde-base-eclass.cpickle emerge 23530 root 0w REG 3,7 278528 180065 /var/cache/edb/dep/usr/portage/kde-base-eclass.cpickle I'm thinking some better buffering is needed in whatever process creates these cpickle files - puking on I/O like this seems crazy. (In reply to comment #0) > 'emerge sync' takes 40 minutes to complete on a 600 MHz VIA Samuel 2 with 1GB > RAM. > > Reproducible: Always > Steps to Reproduce: > 1. emerge sync > 2. wait > > > Actual Results: > 40 minutes > > Expected Results: > about 10 minutes > > Portage 2.0.51.22-r2 (default-linux/x86/2005.1, gcc-3.3.6, glibc-2.3.5-r1, > 2.6.12-gentoo-r6 i686) > ================================================================= > System uname: 2.6.12-gentoo-r6 i686 VIA Samuel 2 > Gentoo Base System version 1.6.13 > ccache version 2.3 [enabled] > dev-lang/python: 2.3.5-r2 > sys-apps/sandbox: 1.2.10 > sys-devel/autoconf: 2.13, 2.59-r6 > sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 > sys-devel/binutils: 2.15.92.0.2-r10 > sys-devel/libtool: 1.5.18-r1 > virtual/os-headers: 2.6.11-r2 > ACCEPT_KEYWORDS="x86" > AUTOCLEAN="yes" > CBUILD="i586-pc-linux-gnu" > CFLAGS="-march=i586 -m3dnow -O3 -pipe -fomit-frame-pointer -mmmx" > CHOST="i586-pc-linux-gnu" > CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/ > config /var/bind /var/qmail/control" > CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" > CXXFLAGS="-march=i586 -m3dnow -O3 -pipe -fomit-frame-pointer -mmmx" > DISTDIR="/usr/portage/distfiles" > FEATURES="autoconfig ccache distlocks sandbox sfperms strict" > GENTOO_MIRRORS="ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo > http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ > ftp://mirrors.sec.informatik.tu-darmstadt.de/gentoo/" > LANG="en_US.UTF-8" > LC_ALL="en_US.UTF-8" > MAKEOPTS="-j1" > PKGDIR="/usr/portage/packages" > PORTAGE_TMPDIR="/var/tmp" > PORTDIR="/usr/portage" > SYNC="rsync://rsync.gentoo.org/gentoo-portage" > USE="x86 alsa apm arts avi berkdb bitmap-fonts crypt cups eds emboss encode > foomaticdb fortran gdbm gif gpm gstreamer imlib ipv6 jpeg ldap libg++ libwww > mad mikmod mp3 mpeg ncurses nls nptl nptlonly ogg oggvorbis oss pam pdflib perl > png postgres python readline samba slang spell ssl svga tcpd tiff unicode > vorbis xml xml2 xmms xv zlib userland_GNU kernel_linux elibc_glibc" > Unset: ASFLAGS, CTARGET, LDFLAGS, LINGUAS, PORTDIR_OVERLAY
emerge --sync runs ten to twenty times faster now. Maybe the decrement operator did the trick.