tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Wider testing for wrapper performance patch



Hey all,
This is earlier than I'd normally ask for review of something, but it's a huge win and I'm interested in testing on a wide variety of systems to see what the performance wins are, and if there are any regressions. One of the slowest parts of the pkgsrc infrastructure is the wrapper phase, where symlinks for all includes, libraries, and ancillary support files are created under "${WRKDIR}/.buildlink/". Each file results in a fork of dirname(1) and ln(1). When you have packages such as devel/boost-headers which is pulled in by many packages and alone has over 15,000 files to symlink, the terrible performance becomes clear. For example:
 $ cd x11/kde-workspace4
 $ bmake patch; ptime bmake wrapper
 real 3:20.696394375
 user 50.553556463
 sys 2:23.883823896
I'm currently testing an alternative which uses a small program to batch up the symlink creation, and is significantly faster:
 real 19.873100598
 user 8.141441461
 sys 11.740602820
You can grab it and the patch to the infrastructure from here:
 https://github.com/TritonDataCenter/pkgsrc/commit/d119b14357b26ac282c3d5088200cc9986295b6a
It currently lives in the cwrappers package for ease of testing, but I'm not sure this is a good long term home, and maybe we want to create a new "pkg-mk-tools" package or something that can house a few other useful utilities to speed up other areas of the infrastructure.
Cheers,
--
Jonathan Perkin - Joyent, Inc. - www.joyent.com


Home | Main Index | Thread Index | Old Index

AltStyle によって変換されたページ (->オリジナル) /