mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-22 09:24:54 +01:00
perf-test: add caching of xapian database
The caching and uncaching seem to be necessarily manual, as timing the initial notmuch new is one of our goals with this suite.
This commit is contained in:
parent
74a883562b
commit
ceaf5ca6c0
4 changed files with 35 additions and 1 deletions
1
performance-test/.gitignore
vendored
1
performance-test/.gitignore
vendored
|
@ -1,2 +1,3 @@
|
|||
tmp.*/
|
||||
corpus/
|
||||
notmuch.cache.*/
|
||||
|
|
|
@ -29,4 +29,4 @@ $(TXZFILE):
|
|||
download-corpus:
|
||||
wget -O ${TXZFILE} ${DEFAULT_URL}
|
||||
|
||||
CLEAN := $(CLEAN) $(dir)/tmp.* $(dir)/corpus
|
||||
CLEAN := $(CLEAN) $(dir)/tmp.* $(dir)/corpus $(dir)/notmuch.cache.*
|
||||
|
|
|
@ -2,11 +2,16 @@
|
|||
|
||||
. ./perf-test-lib.sh
|
||||
|
||||
uncache_database
|
||||
|
||||
add_email_corpus
|
||||
|
||||
print_header
|
||||
|
||||
time_run 'initial notmuch new' 'notmuch new'
|
||||
|
||||
cache_database
|
||||
|
||||
time_run 'second notmuch new' 'notmuch new'
|
||||
time_run 'dump *' 'notmuch dump > tags.out'
|
||||
time_run 'restore *' 'notmuch restore < tags.out'
|
||||
|
|
|
@ -35,6 +35,8 @@ then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
DB_CACHE_DIR=${TEST_DIRECTORY}/notmuch.cache.$corpus_size
|
||||
|
||||
add_email_corpus ()
|
||||
{
|
||||
rm -rf ${MAIL_DIR}
|
||||
|
@ -80,8 +82,34 @@ add_email_corpus ()
|
|||
fi
|
||||
|
||||
cp -lr $MAIL_CORPUS $MAIL_DIR
|
||||
|
||||
}
|
||||
|
||||
time_start () {
|
||||
|
||||
add_email_corpus
|
||||
|
||||
print_header
|
||||
|
||||
if [ -d $DB_CACHE_DIR ]; then
|
||||
cp -r $DB_CACHE_DIR ${MAIL_DIR}/.notmuch
|
||||
else
|
||||
time_run 'Initial notmuch new' "notmuch new"
|
||||
cache_database
|
||||
fi
|
||||
}
|
||||
|
||||
cache_database () {
|
||||
if [ -d $MAIL_DIR/.notmuch ]; then
|
||||
cp -r $MAIL_DIR/.notmuch $DB_CACHE_DIR
|
||||
else
|
||||
echo "Warning: No database found to cache"
|
||||
fi
|
||||
}
|
||||
|
||||
uncache_database () {
|
||||
rm -rf $DB_CACHE_DIR
|
||||
}
|
||||
|
||||
print_header () {
|
||||
printf "[v%4s %6s] Wall(s)\tUsr(s)\tSys(s)\tRes(K)\tIn/Out(512B)\n" \
|
||||
|
|
Loading…
Reference in a new issue