CoolFace
Modelpublic

AryaWu/sqlite

sourceHugging Faceupdated 9mo agoView on Hugging Face
0likes
json-speed-check.sh88 linesDownload Raw Back to json
1#!/bin/bash2#3# This is a template for a script used for day-to-day size and 4# performance monitoring of SQLite.  Typical usage:5#6#     sh speed-check.sh trunk  #  Baseline measurement of trunk7#     sh speed-check.sh x1     # Measure some experimental change8#     fossil xdiff --tk jout-trunk.txt jout-x1.txt   # View changes9#10# There are multiple output files, all with a base name given by11# the first argument:12#13#     summary-$BASE.txt           # Copy of standard output14#     jout-$BASE.txt              # cachegrind output15#     explain-$BASE.txt           # EXPLAIN listings (only with --explain)16#17if test "$1" = ""18then19  echo "Usage: $0 OUTPUTFILE [OPTIONS]"20  exit21fi22NAME=$123shift24#CC_OPTS="-DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_MEMSYS5"25CC_OPTS="-DSQLITE_ENABLE_MEMSYS5"26CC=gcc27LEAN_OPTS="-DSQLITE_THREADSAFE=0"28LEAN_OPTS="$LEAN_OPTS -DSQLITE_DEFAULT_MEMSTATUS=0"29LEAN_OPTS="$LEAN_OPTS -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1"30LEAN_OPTS="$LEAN_OPTS -DSQLITE_LIKE_DOESNT_MATCH_BLOBS"31LEAN_OPTS="$LEAN_OPTS -DSQLITE_MAX_EXPR_DEPTH=0"32LEAN_OPTS="$LEAN_OPTS -DSQLITE_OMIT_DECLTYPE"33LEAN_OPTS="$LEAN_OPTS -DSQLITE_OMIT_DEPRECATED"34LEAN_OPTS="$LEAN_OPTS -DSQLITE_OMIT_PROGRESS_CALLBACK"35LEAN_OPTS="$LEAN_OPTS -DSQLITE_OMIT_SHARED_CACHE"36LEAN_OPTS="$LEAN_OPTS -DSQLITE_USE_ALLOCA"37BASELINE="trunk"38TYPE="json"39doExplain=040doCachegrind=141doVdbeProfile=042doWal=143doDiff=144doJsonB=045while test "$1" != ""; do46  case $1 in47    --nodiff)48	doDiff=049        ;;50    --lean)51        CC_OPTS="$CC_OPTS $LEAN_OPTS"52        ;;53    --clang)54        CC=clang55        ;;56    --gcc7)57        CC=gcc-758        ;;59    --jsonb)60        doJsonB=161        TYPE="jsonb"62        ;;63    -*)64        CC_OPTS="$CC_OPTS $1"65        ;;66    *)67	BASELINE=$168        ;;69  esac70  shift71done72echo "NAME           = $NAME" | tee summary-$NAME.txt73echo "CC_OPTS        = $CC_OPTS" | tee -a summary-$NAME.txt74rm -f cachegrind.out.* jsonshell75$CC -g -Os -Wall -I. $CC_OPTS ./shell.c ./sqlite3.c -o jsonshell -ldl -lpthread76ls -l jsonshell | tee -a summary-$NAME.txt77home=`echo $0 | sed -e 's,/[^/]*$,,'`78DB=$TYPE''100mb.db79echo ./jsonshell $DB "<$home/$TYPE-q1.txt"80valgrind --tool=cachegrind ./jsonshell json100mb_b.db <$home/$TYPE-q1.txt \81        2>&1 | tee -a summary-$NAME.txt82cg_anno.tcl cachegrind.out.* >$TYPE-$NAME.txt83echo '*****************************************************' >>$TYPE-$NAME.txt84sed 's/^[0-9=-]\{9\}/==00000==/' summary-$NAME.txt >>$TYPE-$NAME.txt85if test "$NAME" != "$BASELINE" -a $doDiff -ne 0; then86  fossil xdiff --tk -c 20 $TYPE-$BASELINE.txt $TYPE-$NAME.txt87fi88