diff --git a/demos/sqlite/download_and_build_sqlite.sh b/demos/sqlite/download_and_build_sqlite.sh index 21e6d7a2..cf6ebad3 100755 --- a/demos/sqlite/download_and_build_sqlite.sh +++ b/demos/sqlite/download_and_build_sqlite.sh @@ -1,18 +1,25 @@ #!/bin/bash set -e -SQLITE=sqlite-autoconf-3310100 +SQLITE=sqlite-autoconf-3330000 SQLITE_SRC=sqlite_src DEMO=sqlite_demo +SPEEDTEST=speedtest1 # Download SQLite source files [ ! -d $SQLITE_SRC ] && rm -f $SQLITE.tar.gz && \ - wget http://www3.sqlite.org/2020/$SQLITE.tar.gz \ + wget http://www.sqlite.org/2020/$SQLITE.tar.gz \ && rm -rf $SQLITE && tar xf $SQLITE.tar.gz \ && mv $SQLITE $SQLITE_SRC \ && rm -f $SQLITE.tar.gz - [ -e $DEMO ] && rm -f $DEMO echo -e "Starting to build $DEMO ..." occlum-gcc -O2 -I$SQLITE_SRC sqlite_demo.c $SQLITE_SRC/sqlite3.c -lpthread -ldl -o $DEMO echo -e "Build $DEMO succeed" + +[ -e $SPEEDTEST ] && rm -f $SPEEDTEST && rm -f $SPEEDTEST.c +echo -e "Starting to build $SPEEDTEST ..." +wget https://raw.githubusercontent.com/sqlite/sqlite/version-3.33.0/test/$SPEEDTEST.c +occlum-gcc -O6 -I$SQLITE_SRC -DNDEBUG=1 -DSQLITE_ENABLE_MEMSYS5 -DSQLITE_THREADSAFE=2 -DSQLITE_DEFAULT_WORKER_THREADS=32 $SPEEDTEST.c $SQLITE_SRC/sqlite3.c -lpthread -ldl -o $SPEEDTEST +echo -e "Build $SPEEDTEST succeed" + diff --git a/demos/sqlite/run_sqlite_on_occlum.sh b/demos/sqlite/run_sqlite_on_occlum.sh index d622d71a..f8511bfc 100755 --- a/demos/sqlite/run_sqlite_on_occlum.sh +++ b/demos/sqlite/run_sqlite_on_occlum.sh @@ -11,6 +11,7 @@ SQL_STMT="CREATE TABLE COMPANY ( \ SALARY REAL ); \ INSERT INTO COMPANY VALUES ( 1, 'Kris', 27, 'California', 16000.00 ); \ SELECT * FROM COMPANY;" +SPEEDTEST=speedtest1 if [ ! -e $DEMO ];then echo "Error: cannot stat '$DEMO'" @@ -18,6 +19,12 @@ if [ ! -e $DEMO ];then exit 1 fi +if [ ! -e $SPEEDTEST ];then + echo "Error: cannot stat '$SPEEDTEST'" + echo "Please see README and build the $SPEEDTEST" + exit 1 +fi + # 1. Init Occlum Workspace rm -rf occlum_instance && mkdir occlum_instance cd occlum_instance @@ -25,7 +32,9 @@ occlum init # 2. Copy files into Occlum Workspace and build cp ../$DEMO image/bin +cp ../$SPEEDTEST image/bin occlum build # 3. Run the demo occlum run /bin/$DEMO "$SQL_DB" "$SQL_STMT" +occlum run /bin/$SPEEDTEST --memdb --stats --size 100