/ Hex Artifact Content
Login

Artifact 8e0b0f8109367827ad5d58f5cc849705731e4b90:


0000: 23 21 2f 62 69 6e 2f 73 68 0a 23 0a 23 20 54 68  #!/bin/sh.#.# Th
0010: 69 73 20 73 63 72 69 70 74 20 72 75 6e 73 20 74  is script runs t
0020: 68 65 20 77 6f 72 64 63 6f 75 6e 74 20 70 72 6f  he wordcount pro
0030: 67 72 61 6d 20 69 6e 20 64 69 66 66 65 72 65 6e  gram in differen
0040: 74 20 77 61 79 73 20 61 6e 64 20 67 65 6e 65 72  t ways and gener
0050: 61 74 65 73 0a 23 20 61 6e 20 6f 75 74 70 75 74  ates.# an output
0060: 20 75 73 65 66 75 6c 20 66 6f 72 20 70 65 72 66   useful for perf
0070: 6f 72 6d 61 6e 63 65 20 63 6f 6d 70 61 72 69 73  ormance comparis
0080: 6f 6e 73 2e 0a 23 0a 0a 23 20 53 65 6c 65 63 74  ons..#..# Select
0090: 20 74 68 65 20 73 6f 75 72 63 65 20 74 65 78 74   the source text
00a0: 20 74 6f 20 62 65 20 61 6e 61 6c 79 7a 65 64 2e   to be analyzed.
00b0: 0a 23 0a 69 66 20 74 65 73 74 20 22 78 24 31 22  .#.if test "x$1"
00c0: 20 3d 20 22 78 22 3b 0a 74 68 65 6e 20 65 63 68   = "x";.then ech
00d0: 6f 20 22 55 73 61 67 65 3a 20 24 30 20 46 49 4c  o "Usage: $0 FIL
00e0: 45 4e 41 4d 45 20 5b 41 52 47 53 2e 2e 2e 5d 22  ENAME [ARGS...]"
00f0: 3b 20 65 78 69 74 20 31 3b 0a 66 69 0a 0a 23 20  ; exit 1;.fi..# 
0100: 44 6f 20 74 65 73 74 20 72 75 6e 73 0a 23 0a 72  Do test runs.#.r
0110: 6d 20 2d 66 20 77 63 64 62 31 2e 64 62 0a 2e 2f  m -f wcdb1.db../
0120: 77 6f 72 64 63 6f 75 6e 74 20 2d 2d 74 61 67 20  wordcount --tag 
0130: 41 3a 20 2d 2d 74 69 6d 65 72 20 2d 2d 73 75 6d  A: --timer --sum
0140: 6d 61 72 79 20 77 63 64 62 31 2e 64 62 20 24 2a  mary wcdb1.db $*
0150: 20 2d 2d 69 6e 73 65 72 74 0a 72 6d 20 2d 66 20   --insert.rm -f 
0160: 77 63 64 62 32 2e 64 62 0a 2e 2f 77 6f 72 64 63  wcdb2.db../wordc
0170: 6f 75 6e 74 20 2d 2d 74 61 67 20 42 3a 20 2d 2d  ount --tag B: --
0180: 74 69 6d 65 72 20 2d 2d 73 75 6d 6d 61 72 79 20  timer --summary 
0190: 77 63 64 62 32 2e 64 62 20 24 2a 20 2d 2d 69 6e  wcdb2.db $* --in
01a0: 73 65 72 74 20 2d 2d 77 69 74 68 6f 75 74 2d 72  sert --without-r
01b0: 6f 77 69 64 0a 72 6d 20 2d 66 20 77 63 64 62 31  owid.rm -f wcdb1
01c0: 2e 64 62 0a 2e 2f 77 6f 72 64 63 6f 75 6e 74 20  .db../wordcount 
01d0: 2d 2d 74 61 67 20 43 3a 20 2d 2d 74 69 6d 65 72  --tag C: --timer
01e0: 20 2d 2d 73 75 6d 6d 61 72 79 20 77 63 64 62 31   --summary wcdb1
01f0: 2e 64 62 20 24 2a 20 2d 2d 72 65 70 6c 61 63 65  .db $* --replace
0200: 0a 72 6d 20 2d 66 20 77 63 64 62 32 2e 64 62 0a  .rm -f wcdb2.db.
0210: 2e 2f 77 6f 72 64 63 6f 75 6e 74 20 2d 2d 74 61  ./wordcount --ta
0220: 67 20 44 3a 20 2d 2d 74 69 6d 65 72 20 2d 2d 73  g D: --timer --s
0230: 75 6d 6d 61 72 79 20 77 63 64 62 32 2e 64 62 20  ummary wcdb2.db 
0240: 24 2a 20 2d 2d 72 65 70 6c 61 63 65 20 2d 2d 77  $* --replace --w
0250: 69 74 68 6f 75 74 2d 72 6f 77 69 64 0a 72 6d 20  ithout-rowid.rm 
0260: 2d 66 20 77 63 64 62 31 2e 64 62 0a 2e 2f 77 6f  -f wcdb1.db../wo
0270: 72 64 63 6f 75 6e 74 20 2d 2d 74 61 67 20 45 3a  rdcount --tag E:
0280: 20 2d 2d 74 69 6d 65 72 20 2d 2d 73 75 6d 6d 61   --timer --summa
0290: 72 79 20 77 63 64 62 31 2e 64 62 20 24 2a 20 2d  ry wcdb1.db $* -
02a0: 2d 73 65 6c 65 63 74 0a 72 6d 20 2d 66 20 77 63  -select.rm -f wc
02b0: 64 62 32 2e 64 62 0a 2e 2f 77 6f 72 64 63 6f 75  db2.db../wordcou
02c0: 6e 74 20 2d 2d 74 61 67 20 46 3a 20 2d 2d 74 69  nt --tag F: --ti
02d0: 6d 65 72 20 2d 2d 73 75 6d 6d 61 72 79 20 77 63  mer --summary wc
02e0: 64 62 32 2e 64 62 20 24 2a 20 2d 2d 73 65 6c 65  db2.db $* --sele
02f0: 63 74 20 2d 2d 77 69 74 68 6f 75 74 2d 72 6f 77  ct --without-row
0300: 69 64 0a 2e 2f 77 6f 72 64 63 6f 75 6e 74 20 2d  id../wordcount -
0310: 2d 74 61 67 20 47 3a 20 2d 2d 74 69 6d 65 72 20  -tag G: --timer 
0320: 2d 2d 73 75 6d 6d 61 72 79 20 77 63 64 62 31 2e  --summary wcdb1.
0330: 64 62 20 24 2a 20 2d 2d 71 75 65 72 79 0a 2e 2f  db $* --query../
0340: 77 6f 72 64 63 6f 75 6e 74 20 2d 2d 74 61 67 20  wordcount --tag 
0350: 48 3a 20 2d 2d 74 69 6d 65 72 20 2d 2d 73 75 6d  H: --timer --sum
0360: 6d 61 72 79 20 77 63 64 62 31 2e 64 62 20 24 2a  mary wcdb1.db $*
0370: 20 2d 2d 71 75 65 72 79 20 2d 2d 77 69 74 68 6f   --query --witho
0380: 75 74 2d 72 6f 77 69 64 0a 2e 2f 77 6f 72 64 63  ut-rowid../wordc
0390: 6f 75 6e 74 20 2d 2d 74 61 67 20 49 3a 20 2d 2d  ount --tag I: --
03a0: 74 69 6d 65 72 20 2d 2d 73 75 6d 6d 61 72 79 20  timer --summary 
03b0: 77 63 64 62 31 2e 64 62 20 24 2a 20 2d 2d 64 65  wcdb1.db $* --de
03c0: 6c 65 74 65 0a 2e 2f 77 6f 72 64 63 6f 75 6e 74  lete../wordcount
03d0: 20 2d 2d 74 61 67 20 4a 3a 20 2d 2d 74 69 6d 65   --tag J: --time
03e0: 72 20 2d 2d 73 75 6d 6d 61 72 79 20 77 63 64 62  r --summary wcdb
03f0: 32 2e 64 62 20 24 2a 20 2d 2d 64 65 6c 65 74 65  2.db $* --delete
0400: 20 2d 2d 77 69 74 68 6f 75 74 2d 72 6f 77 69 64   --without-rowid
0410: 0a 0a 23 20 43 6c 65 61 6e 20 75 70 20 74 65 6d  ..# Clean up tem
0420: 70 6f 72 61 72 79 20 66 69 6c 65 73 20 63 72 65  porary files cre
0430: 61 74 65 64 2e 0a 23 0a 72 6d 20 2d 66 20 77 63  ated..#.rm -f wc
0440: 64 62 31 2e 64 62 20 77 63 64 62 32 2e 64 62 0a  db1.db wcdb2.db.