Summary: | [patch] mtree(8) does a full hierarchy walk when requested to just update structure (-u -e) | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Base System | Reporter: | David Naylor <naylor.b.david> | ||||||
Component: | bin | Assignee: | freebsd-bugs (Nobody) <bugs> | ||||||
Status: | Closed FIXED | ||||||||
Severity: | Affects Only Me | CC: | dbn | ||||||
Priority: | Normal | ||||||||
Version: | Unspecified | ||||||||
Hardware: | Any | ||||||||
OS: | Any | ||||||||
Attachments: |
|
Description
David Naylor
2010-02-10 19:30:01 UTC
Using my "real" world benchmark (see http://unix.derkeiler.com/Mailing- Lists/FreeBSD/current/2010-01/msg00453.html) I have achieved a 20% speedup using the previously attached patch. My results: # time ./ports-union-builder.sh (old mtree) 8123.25 real 2280.53 user 6319.77 sys # time ./ports-union-builder.sh (new mtree) 6456.11 real 2272.07 user 5778.74 sys By my estimated the hierarchical walking of mtree resulted in an additional 28 minutes real time and 9 minutes system time. Thanks to the feedback from the hackers ML I've updated the patch. It now is more aggressive in using the optimisation and handles buffer overflows (that previously went unhandled by mtree). Please see attached for the patch. This performance issue no longer appears reproducable. |