tech-pkg archive

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

Optimising _check-wrkref



The current implementation of _check-wrkref iterates over a list of
directories and runs grep for each of them against every file listed
in a package, at least when PKG_DEVELOPER is set.

This can be pretty slow, and I'd like to change it so we use a single
egrep and a regexp instead.  A diff to implement that is here:

  http://us-east.manta.joyent.com/pkgsrc/public/patches/check-wrkref-opt.diff

Testing with lang/ruby21-base we go from this:

  $ ptime bmake _check-wrkref
  => Checking for work-directory references in ruby212-base-2.1.2nb1

  real     2:41.018259391
  user       54.498007133
  sys      3:46.198545074

to this:

  $ ptime bmake _check-wrkref
  => Checking for work-directory references in ruby212-base-2.1.2nb1

  real     1:43.642373148
  user       48.184716342
  sys        53.025063252

Users who set additional entries in CHECK_WRKREF should see scalable
performance improvements.

As usual I will push this through a full bulk build to ensure there
are no regressions, but wanted to post it here for comments first.

Cheers,

-- 
Jonathan Perkin  -  Joyent, Inc.  -  www.joyent.com


Home | Main Index | Thread Index | Old Index