-C Fix\sother\sharmless\scompiler\swarnings.
-D 2016-08-01T17:06:44.553
+C Update\sthe\swordcount.c\stest\sprogram\sand\sadd\sa\snew\sscript\s"time-wordcount.sh"\nfor\sadditional\sperformance\stesting.
+D 2016-08-01T21:17:53.023
F Makefile.in 6c20d44f72d4564f11652b26291a214c8367e5db
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
F Makefile.msc 3340e479e5221f06c3d61726f8f7efff885e4233
F test/threadtest2.c a70a8e94bef23339d34226eb9521015ef99f4df8
F test/threadtest3.c 38a612ea62854349ed66372f330a40d73c5cf956
F test/threadtest4.c c1e67136ceb6c7ec8184e56ac61db28f96bd2925
+F test/time-wordcount.sh 8e0b0f8109367827ad5d58f5cc849705731e4b90
F test/tkt-02a8e81d44.test 6c80d9c7514e2a42d4918bf87bf6bc54f379110c
F test/tkt-26ff0c2d1e.test 888324e751512972c6e0d1a09df740d8f5aaf660
F test/tkt-2a5629202f.test 0521bd25658428baa26665aa53ffed9367d33af2
F test/without_rowid4.test 4e08bcbaee0399f35d58b5581881e7a6243d458a
F test/without_rowid5.test 89b1c587bd92a0590e440da33e7666bf4891572a
F test/without_rowid6.test 1f99644e6508447fb050f73697350c7ceca3392e
-F test/wordcount.c 2a0a6c0d0e8e8bbbac1f06d72a6791828c37c0cf
+F test/wordcount.c 97856eec21fd00d77da720007b1888c383f63dcf
F test/zeroblob.test 3857870fe681b8185654414a9bccfde80b62a0fa
F test/zerodamage.test e59a56443d6298ecf7435f618f0b27654f0c849e
F tool/GetFile.cs a15e08acb5dd7539b75ba23501581d7c2b462cb5
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P fd184e5a8f4577aa9a817eb55e771d8d1021b946
-R ee6ea998e955e1020bf52b2850224f49
+P 90d2c490fc2ed4e073711b84f989ca4d496dcfb5
+R 785c152fa91bad6599d646e4e2f00927
U drh
-Z 082f7342c6c06c2add554ab4b05f638a
+Z e82d6de7fe92cf55ce862dce0d383efb
** --nosync Use PRAGMA synchronous=OFF
** --journal MMMM Use PRAGMA journal_mode=MMMM
** --timer Time the operation of this program
+** --tag NAME Tag all output using NAME. Use only stdout.
**
** Modes:
**
#include "sqlite3.h"
#define ISALPHA(X) isalpha((unsigned char)(X))
+/* Output tag */
+char *zTag = "--";
+
/* Return the current wall-clock time */
static sqlite3_int64 realTime(void){
static sqlite3_vfs *clockVfs = 0;
** each column separated by a single space. */
static int printResult(void *NotUsed, int nArg, char **azArg, char **azNm){
int i;
- printf("--");
+ printf("%s", zTag);
for(i=0; i<nArg; i++){
printf(" %s", azArg[i] ? azArg[i] : "(null)");
}
FILE *in; /* The open input file */
int rc; /* Return code from an SQLite interface */
int iCur, iHiwtr; /* Statistics values, current and "highwater" */
+ FILE *pTimer = stderr; /* Output channel for the timer */
sqlite3_int64 sumCnt = 0; /* Sum in QUERY mode */
sqlite3_int64 startTime;
char zInput[2000]; /* A single line of input */
commitInterval = atoi(argv[i]);
}else if( strcmp(z,"journal")==0 && i<argc-1 ){
zJMode = argv[++i];
+ }else if( strcmp(z,"tag")==0 && i<argc-1 ){
+ zTag = argv[++i];
+ pTimer = stdout;
}else{
fatal_error("unknown option: %s\n", argv[i]);
}
sqlite3_finalize(pDelete);
if( iMode==MODE_QUERY ){
- printf("sum of cnt: %lld\n", sumCnt);
+ printf("%s sum of cnt: %lld\n", zTag, sumCnt);
rc = sqlite3_prepare_v2(db,"SELECT sum(cnt*cnt) FROM wordcount", -1,
&pSelect, 0);
if( rc==SQLITE_OK && sqlite3_step(pSelect)==SQLITE_ROW ){
- printf("double-check: %lld\n", sqlite3_column_int64(pSelect, 0));
+ printf("%s double-check: %lld\n", zTag, sqlite3_column_int64(pSelect, 0));
}
sqlite3_finalize(pSelect);
}
if( showTimer ){
sqlite3_int64 elapseTime = realTime() - startTime;
- fprintf(stderr, "%3d.%03d wordcount", (int)(elapseTime/1000),
+ fprintf(pTimer, "%3d.%03d wordcount", (int)(elapseTime/1000),
(int)(elapseTime%1000));
- for(i=1; i<argc; i++) if( i!=showTimer ) fprintf(stderr, " %s", argv[i]);
- fprintf(stderr, "\n");
+ for(i=1; i<argc; i++) if( i!=showTimer ) fprintf(pTimer, " %s", argv[i]);
+ fprintf(pTimer, "\n");
}
if( showSummary ){
** have been finalized */
if( showStats ){
sqlite3_db_status(db, SQLITE_DBSTATUS_LOOKASIDE_USED, &iCur, &iHiwtr, 0);
- printf("-- Lookaside Slots Used: %d (max %d)\n", iCur,iHiwtr);
+ printf("%s Lookaside Slots Used: %d (max %d)\n", zTag, iCur,iHiwtr);
sqlite3_db_status(db, SQLITE_DBSTATUS_LOOKASIDE_HIT, &iCur, &iHiwtr, 0);
- printf("-- Successful lookasides: %d\n", iHiwtr);
+ printf("%s Successful lookasides: %d\n", zTag, iHiwtr);
sqlite3_db_status(db, SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE, &iCur,&iHiwtr,0);
- printf("-- Lookaside size faults: %d\n", iHiwtr);
+ printf("%s Lookaside size faults: %d\n", zTag, iHiwtr);
sqlite3_db_status(db, SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL, &iCur,&iHiwtr,0);
- printf("-- Lookaside OOM faults: %d\n", iHiwtr);
+ printf("%s Lookaside OOM faults: %d\n", zTag, iHiwtr);
sqlite3_db_status(db, SQLITE_DBSTATUS_CACHE_USED, &iCur, &iHiwtr, 0);
- printf("-- Pager Heap Usage: %d bytes\n", iCur);
+ printf("%s Pager Heap Usage: %d bytes\n", zTag, iCur);
sqlite3_db_status(db, SQLITE_DBSTATUS_CACHE_HIT, &iCur, &iHiwtr, 1);
- printf("-- Page cache hits: %d\n", iCur);
+ printf("%s Page cache hits: %d\n", zTag, iCur);
sqlite3_db_status(db, SQLITE_DBSTATUS_CACHE_MISS, &iCur, &iHiwtr, 1);
- printf("-- Page cache misses: %d\n", iCur);
+ printf("%s Page cache misses: %d\n", zTag, iCur);
sqlite3_db_status(db, SQLITE_DBSTATUS_CACHE_WRITE, &iCur, &iHiwtr, 1);
- printf("-- Page cache writes: %d\n", iCur);
+ printf("%s Page cache writes: %d\n", zTag, iCur);
sqlite3_db_status(db, SQLITE_DBSTATUS_SCHEMA_USED, &iCur, &iHiwtr, 0);
- printf("-- Schema Heap Usage: %d bytes\n", iCur);
+ printf("%s Schema Heap Usage: %d bytes\n", zTag, iCur);
sqlite3_db_status(db, SQLITE_DBSTATUS_STMT_USED, &iCur, &iHiwtr, 0);
- printf("-- Statement Heap Usage: %d bytes\n", iCur);
+ printf("%s Statement Heap Usage: %d bytes\n", zTag, iCur);
}
sqlite3_close(db);
** has closed. Memory usage should be zero at this point. */
if( showStats ){
sqlite3_status(SQLITE_STATUS_MEMORY_USED, &iCur, &iHiwtr, 0);
- printf("-- Memory Used (bytes): %d (max %d)\n", iCur,iHiwtr);
+ printf("%s Memory Used (bytes): %d (max %d)\n", zTag,iCur,iHiwtr);
sqlite3_status(SQLITE_STATUS_MALLOC_COUNT, &iCur, &iHiwtr, 0);
- printf("-- Outstanding Allocations: %d (max %d)\n", iCur,iHiwtr);
+ printf("%s Outstanding Allocations: %d (max %d)\n",zTag,iCur,iHiwtr);
sqlite3_status(SQLITE_STATUS_PAGECACHE_OVERFLOW, &iCur, &iHiwtr, 0);
- printf("-- Pcache Overflow Bytes: %d (max %d)\n", iCur,iHiwtr);
+ printf("%s Pcache Overflow Bytes: %d (max %d)\n",zTag,iCur,iHiwtr);
sqlite3_status(SQLITE_STATUS_SCRATCH_OVERFLOW, &iCur, &iHiwtr, 0);
- printf("-- Scratch Overflow Bytes: %d (max %d)\n", iCur,iHiwtr);
+ printf("%s Scratch Overflow Bytes: %d (max %d)\n",zTag,iCur,iHiwtr);
sqlite3_status(SQLITE_STATUS_MALLOC_SIZE, &iCur, &iHiwtr, 0);
- printf("-- Largest Allocation: %d bytes\n",iHiwtr);
+ printf("%s Largest Allocation: %d bytes\n",zTag,iHiwtr);
sqlite3_status(SQLITE_STATUS_PAGECACHE_SIZE, &iCur, &iHiwtr, 0);
- printf("-- Largest Pcache Allocation: %d bytes\n",iHiwtr);
+ printf("%s Largest Pcache Allocation: %d bytes\n",zTag,iHiwtr);
sqlite3_status(SQLITE_STATUS_SCRATCH_SIZE, &iCur, &iHiwtr, 0);
- printf("-- Largest Scratch Allocation: %d bytes\n", iHiwtr);
+ printf("%s Largest Scratch Allocation: %d bytes\n",zTag,iHiwtr);
}
return 0;
}