📄 reporter
字号:
#! /bin/sh#================================================================# reporter# Generate a report of benchmark test#================================================================# check argumentsif [ $# != 1 ] || [ $1 -lt 1 ]then printf 'usage: reporter recnum\n' 1>&2 exit 1fiRECNUM=$1# function to print real time of executing a commandexectime(){ sync ; sync TMPSTR=`( time $1 $(RECNUM) ) 2>&1 | grep real` TMPSTR=`echo $TMPSTR | sed -e 's/.* //' -e 's/s//' -e 's/m/ \* 60 + /'` perl -e "printf('%.2f', $TMPSTR);"}# function to print file sizefilesize(){ ls -l $1 | tr -s ' ' | tr ' ' '\t' | cut -f 5}# print the headersprintf '%s,%s,%s,%s\n' "NAME" "WRITE" "READ" "SIZE"# test of QDBMrm -rf casket*WRITETIME=`exectime "./qdbmtest write casket $RECNUM"`READTIME=`exectime "./qdbmtest read casket $RECNUM"`FILESIZE=`filesize casket`printf '%s,%s,%s,%s\n' "QDBM" "$WRITETIME" "$READTIME" "$FILESIZE"# test of NDBMrm -rf casket*WRITETIME=`exectime "./ndbmtest write casket $RECNUM"`READTIME=`exectime "./ndbmtest read casket $RECNUM"`FDIRSIZE=`filesize casket.dir`FPAGSIZE=`filesize casket.pag`FILESIZE=`expr $FDIRSIZE + $FPAGSIZE`printf '%s,%s,%s,%s\n' "NDBM" "$WRITETIME" "$READTIME" "$FILESIZE"# test of SDBMrm -rf casket*WRITETIME=`exectime "./sdbmtest write casket $RECNUM"`READTIME=`exectime "./sdbmtest read casket $RECNUM"`FDIRSIZE=`filesize casket.dir`FPAGSIZE=`filesize casket.pag`FILESIZE=`expr $FDIRSIZE + $FPAGSIZE`printf '%s,%s,%s,%s\n' "SDBM" "$WRITETIME" "$READTIME" "$FILESIZE"# test of GDBMrm -rf casket*WRITETIME=`exectime "./gdbmtest write casket $RECNUM"`READTIME=`exectime "./gdbmtest read casket $RECNUM"`FILESIZE=`filesize casket`printf '%s,%s,%s,%s\n' "GDBM" "$WRITETIME" "$READTIME" "$FILESIZE"# test of TDBrm -rf casket*WRITETIME=`exectime "./tdbtest write casket $RECNUM"`READTIME=`exectime "./tdbtest read casket $RECNUM"`FILESIZE=`filesize casket`printf '%s,%s,%s,%s\n' "TDB" "$WRITETIME" "$READTIME" "$FILESIZE"# test of CDBrm -rf casket*WRITETIME=`exectime "./cdbtest write casket $RECNUM"`READTIME=`exectime "./cdbtest read casket $RECNUM"`FILESIZE=`filesize casket`printf '%s,%s,%s,%s\n' "CDB" "$WRITETIME" "$READTIME" "$FILESIZE"# test of BDBrm -rf casket*WRITETIME=`exectime "./bdbtest write casket $RECNUM"`READTIME=`exectime "./bdbtest read casket $RECNUM"`FILESIZE=`filesize casket`printf '%s,%s,%s,%s\n' "BDB" "$WRITETIME" "$READTIME" "$FILESIZE"# test of QDBM-BT-Arm -rf casket*WRITETIME=`exectime "./qdbmtest btwrite casket $RECNUM"`READTIME=`exectime "./qdbmtest btread casket $RECNUM"`FILESIZE=`filesize casket`printf '%s,%s,%s,%s\n' "QDBM-BT-ASC" "$WRITETIME" "$READTIME" "$FILESIZE"# test of QDBM-BT-Rrm -rf casket*WRITETIME=`exectime "./qdbmtest btwrite -rnd casket $RECNUM"`READTIME=`exectime "./qdbmtest btread -rnd casket $RECNUM"`FILESIZE=`filesize casket`printf '%s,%s,%s,%s\n' "QDBM-BT-RND" "$WRITETIME" "$READTIME" "$FILESIZE"# test of BDB-BT-ASCrm -rf casket*WRITETIME=`exectime "./bdbtest btwrite casket $RECNUM"`READTIME=`exectime "./bdbtest btread casket $RECNUM"`FILESIZE=`filesize casket`printf '%s,%s,%s,%s\n' "BDB-BT-ASC" "$WRITETIME" "$READTIME" "$FILESIZE"# test of BDB-BT-RNDrm -rf casket*WRITETIME=`exectime "./bdbtest btwrite -rnd casket $RECNUM"`READTIME=`exectime "./bdbtest btread -rnd casket $RECNUM"`FILESIZE=`filesize casket`printf '%s,%s,%s,%s\n' "BDB-BT-RND" "$WRITETIME" "$READTIME" "$FILESIZE"# remove garbagerm -rf casket*sync ; sync# exit normallyexit 0# END OF FILE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -