From: David Bremner Date: Mon, 1 Apr 2019 10:31:51 +0000 (-0300) Subject: performance-tests: tests for renamed/copied files in notmuch new X-Git-Tag: archive/debian/0.29_rc0-1~108 X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=commitdiff_plain;h=a56aa472d176d08ba6d175762f673efc345116fa;hp=8e584392dce53d322b9403306991944c5578b1f0 performance-tests: tests for renamed/copied files in notmuch new Several people have observed that this is surprisingly slow, and we have a proposal to add tagging into this code path, so we want to make sure it doesn't imply too much of a performance hit. --- diff --git a/performance-test/T00-new.sh b/performance-test/T00-new.sh index 68750129..25391136 100755 --- a/performance-test/T00-new.sh +++ b/performance-test/T00-new.sh @@ -12,4 +12,22 @@ for i in $(seq 2 6); do time_run "notmuch new #$i" 'notmuch new' done +manifest=$(mktemp manifestXXXXXX) + +find mail -type f ! -path 'mail/.notmuch/*' | sed -n '1~4 p' > $manifest +# arithmetic context is to eat extra whitespace on e.g. some BSDs +count=$((`wc -l < $manifest`)) + +perl -nle 'rename $_, "$_.renamed"' $manifest + +time_run "new ($count mv)" 'notmuch new' + +perl -nle 'rename "$_.renamed", $_' $manifest + +time_run "new ($count mv back)" 'notmuch new' + +perl -nle 'link $_, "$_.copy"' $manifest + +time_run "new ($count cp)" 'notmuch new' + time_done