On Mon, 14 Aug 2017 13:31:53 -0700 Zac Medico <zmed...@gentoo.org> wrote:
> On 08/14/2017 12:49 PM, M. J. Everitt wrote: > > On 14/08/17 08:39, Zac Medico wrote: > >> From: Hidehiko Abe <hideh...@chromium.org> > >> > >> doins is written in bash. However, specifically in case that > >> too many files are installed, it is very slow. > >> This CL rewrites the script in python for performance. > >> > >> BUG=chromium:712659 > >> TEST=time (./setup_board --forace && \ > >> ./build_package --withdev && \ > >> ./build_image --noenable_rootfs_verification test) > >> ===Before=== > >> real 21m35.445s > >> user 93m40.588s > >> sys 21m31.224s > >> > >> ===After=== > >> real 17m30.106s > >> user 94m1.812s > >> sys 20m13.468s > >> > > I know I'm gonna get chewed out on this one, but here goes > > anyway ... > > > > Surely for a package like chromium, who's build time is already in > > the 'hours' range anyway, surely a couple of minutes gain for the > > install phase is neither here nor there?! If there were some > > genuine filesystem iop gains/etc for this change, I think I'd > > likely support it further .. > > It's going to reduce time, power consumption, and heat generation for > all portage users. Also, we can use portage.util.file_copy to optimize > it further with zero-copy, reflink, and sparse file support. > > > On this basis, what do the performance differences look like on an > > 'average' package > > Well, it's very inefficient to fork/exec the install command for many > files as the existing bash implementation does. The performance > difference is related to the number of files. > > > .. and are there any regressions in this regard?! > > It's supposed to fallback to calling the install command if there are > any unrecognized options, so the intention is for 100% compatibility. > > > I take issue with the copyright assignment, as I believe the > > legal .. err .. IANAL devs are campaigning for full rights to be > > owned and enforced by Gentoo Inc LLC in the US .. even if they have > > no idea what that means or does .. :] > > Since it's a BSD-style license, we can copy the code into our project > as long as we retain the copyright notice. Patches look fine to me, glad for the speedup :) -- Brian Dolbec <dolsen>