Index: third_party/sqlite/sqlite-src-3080704/ext/fts3/fts3speed.tcl |
diff --git a/third_party/sqlite/sqlite-src-3080704/ext/fts3/fts3speed.tcl b/third_party/sqlite/sqlite-src-3080704/ext/fts3/fts3speed.tcl |
deleted file mode 100644 |
index 377cb196065699557b0a035a1e9d74808321187a..0000000000000000000000000000000000000000 |
--- a/third_party/sqlite/sqlite-src-3080704/ext/fts3/fts3speed.tcl |
+++ /dev/null |
@@ -1,122 +0,0 @@ |
- |
- |
-#-------------------------------------------------------------------------- |
-# This script contains several sub-programs used to test FTS3/FTS4 |
-# performance. It does not run the queries directly, but generates SQL |
-# scripts that can be run using the shell tool. |
-# |
-# The following cases are tested: |
-# |
-# 1. Inserting documents into an FTS3 table. |
-# 2. Optimizing an FTS3 table (i.e. "INSERT INTO t1 VALUES('optimize')"). |
-# 3. Deleting documents from an FTS3 table. |
-# 4. Querying FTS3 tables. |
-# |
- |
-# Number of tokens in vocabulary. And number of tokens in each document. |
-# |
-set VOCAB_SIZE 2000 |
-set DOC_SIZE 100 |
- |
-set NUM_INSERTS 100000 |
-set NUM_SELECTS 1000 |
- |
-# Force everything in this script to be deterministic. |
-# |
-expr {srand(0)} |
- |
-proc usage {} { |
- puts stderr "Usage: $::argv0 <rows> <selects>" |
- exit -1 |
-} |
- |
-proc sql {sql} { |
- puts $::fd $sql |
-} |
- |
- |
-# Return a list of $nWord randomly generated tokens each between 2 and 10 |
-# characters in length. |
-# |
-proc build_vocab {nWord} { |
- set ret [list] |
- set chars [list a b c d e f g h i j k l m n o p q r s t u v w x y z] |
- for {set i 0} {$i<$nWord} {incr i} { |
- set len [expr {int((rand()*9.0)+2)}] |
- set term "" |
- for {set j 0} {$j<$len} {incr j} { |
- append term [lindex $chars [expr {int(rand()*[llength $chars])}]] |
- } |
- lappend ret $term |
- } |
- set ret |
-} |
- |
-proc select_term {} { |
- set n [llength $::vocab] |
- set t [expr int(rand()*$n*3)] |
- if {$t>=2*$n} { set t [expr {($t-2*$n)/100}] } |
- if {$t>=$n} { set t [expr {($t-$n)/10}] } |
- lindex $::vocab $t |
-} |
- |
-proc select_doc {nTerm} { |
- set ret [list] |
- for {set i 0} {$i<$nTerm} {incr i} { |
- lappend ret [select_term] |
- } |
- set ret |
-} |
- |
-proc test_1 {nInsert} { |
- sql "PRAGMA synchronous = OFF;" |
- sql "DROP TABLE IF EXISTS t1;" |
- sql "CREATE VIRTUAL TABLE t1 USING fts4;" |
- for {set i 0} {$i < $nInsert} {incr i} { |
- set doc [select_doc $::DOC_SIZE] |
- sql "INSERT INTO t1 VALUES('$doc');" |
- } |
-} |
- |
-proc test_2 {} { |
- sql "INSERT INTO t1(t1) VALUES('optimize');" |
-} |
- |
-proc test_3 {nSelect} { |
- for {set i 0} {$i < $nSelect} {incr i} { |
- sql "SELECT count(*) FROM t1 WHERE t1 MATCH '[select_term]';" |
- } |
-} |
- |
-proc test_4 {nSelect} { |
- for {set i 0} {$i < $nSelect} {incr i} { |
- sql "SELECT count(*) FROM t1 WHERE t1 MATCH '[select_term] [select_term]';" |
- } |
-} |
- |
-if {[llength $argv]!=0} usage |
- |
-set ::vocab [build_vocab $::VOCAB_SIZE] |
- |
-set ::fd [open fts3speed_insert.sql w] |
-test_1 $NUM_INSERTS |
-close $::fd |
- |
-set ::fd [open fts3speed_select.sql w] |
-test_3 $NUM_SELECTS |
-close $::fd |
- |
-set ::fd [open fts3speed_select2.sql w] |
-test_4 $NUM_SELECTS |
-close $::fd |
- |
-set ::fd [open fts3speed_optimize.sql w] |
-test_2 |
-close $::fd |
- |
-puts "Success. Created files:" |
-puts " fts3speed_insert.sql" |
-puts " fts3speed_select.sql" |
-puts " fts3speed_select2.sql" |
-puts " fts3speed_optimize.sql" |
- |