| Index: third_party/sqlite/src/tool/kvtest-speed.sh
 | 
| diff --git a/third_party/sqlite/src/tool/kvtest-speed.sh b/third_party/sqlite/src/tool/kvtest-speed.sh
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..5f2c8345bee5caf152649a6fa04cd128ea4cd9ff
 | 
| --- /dev/null
 | 
| +++ b/third_party/sqlite/src/tool/kvtest-speed.sh
 | 
| @@ -0,0 +1,35 @@
 | 
| +#!/bin/bash
 | 
| +#
 | 
| +# A script for running speed tests using kvtest.
 | 
| +#
 | 
| +# The test database must be set up first.  Recommended
 | 
| +# command-line:
 | 
| +#
 | 
| +#    ./kvtest init kvtest.db --count 100K --size 12K --variance 5K
 | 
| +
 | 
| +if test "$1" = ""
 | 
| +then
 | 
| +  echo "Usage: $0 OUTPUTFILE [OPTIONS]"
 | 
| +  exit
 | 
| +fi
 | 
| +NAME=$1
 | 
| +shift
 | 
| +OPTS="-DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_DIRECT_OVERFLOW_READ -DUSE_PREAD"
 | 
| +KVARGS="--count 100K --stats"
 | 
| +gcc -g -Os -I. $OPTS $* kvtest.c sqlite3.c -o kvtest
 | 
| +
 | 
| +# First run using SQL
 | 
| +rm cachegrind.out.[1-9][0-9]*
 | 
| +valgrind --tool=cachegrind ./kvtest run kvtest.db $KVARGS 2>&1 | tee summary-kvtest-$NAME.txt
 | 
| +mv cachegrind.out.[1-9][0-9]* cachegrind.out.sql-$NAME
 | 
| +cg_anno.tcl cachegrind.out.sql-$NAME >cout-kvtest-sql-$NAME.txt
 | 
| +
 | 
| +# Second run using the sqlite3_blob object
 | 
| +valgrind --tool=cachegrind ./kvtest run kvtest.db $KVARGS --blob-api 2>&1 | tee -a summary-kvtest-$NAME.txt
 | 
| +mv cachegrind.out.[1-9][0-9]* cachegrind.out.$NAME
 | 
| +cg_anno.tcl cachegrind.out.$NAME >cout-kvtest-$NAME.txt
 | 
| +
 | 
| +# Diff the sqlite3_blob API analysis for non-trunk runs.
 | 
| +if test "$NAME" != "trunk"; then
 | 
| +  fossil test-diff --tk cout-kvtest-trunk.txt cout-kvtest-$NAME.txt &
 | 
| +fi
 | 
| 
 |