diff options
Diffstat (limited to 'contrib/rtree_gist/bench')
-rwxr-xr-x | contrib/rtree_gist/bench/bench.pl | 74 | ||||
-rwxr-xr-x | contrib/rtree_gist/bench/create_test.pl | 50 |
2 files changed, 0 insertions, 124 deletions
diff --git a/contrib/rtree_gist/bench/bench.pl b/contrib/rtree_gist/bench/bench.pl deleted file mode 100755 index e73fd2671cd..00000000000 --- a/contrib/rtree_gist/bench/bench.pl +++ /dev/null @@ -1,74 +0,0 @@ -#!/usr/bin/perl -w - -use strict; -# make sure we are in a sane environment. -use DBI(); -use DBD::Pg(); -use Time::HiRes qw( usleep ualarm gettimeofday tv_interval ); -use Getopt::Std; -my %opt; -getopts('d:b:gv', \%opt); - -if ( !( scalar %opt ) ) { - print <<EOT; -Usage: -$0 -d DATABASE -b N [-v] [-g] --d DATABASE - DATABASE name --b N -number of cycles --v - print sql --g -use GiST index( default built-in R-tree ) - -EOT - exit; -} - -$opt{d} ||= 'TEST'; -my $dbi=DBI->connect('DBI:Pg:dbname='.$opt{d}) || die "Couldn't connect DB: $opt{d} !\n"; - -my $setsql = qq{ - SET search_path = public; -}; - -my $sth = $dbi->prepare($setsql); -$sth->execute(); - -my $sql; -my $notice; -my $sss = '(3000,3000,2990,2990)'; -if ( $opt{g} ) { - $notice = "Testing GiST implementation of R-Tree"; - $sql = "select count(*) from boxtmp where b && '$sss'::box;"; -} else { - $notice = "Testing built-in implementation of R-Tree"; - $sql = "select count(*) from boxtmp2 where b && '$sss'::box;"; -} - -my $t0 = [gettimeofday]; -my $count=0; -my $b=$opt{b}; - -$b ||=1; -foreach ( 1..$b ) { - my @a=exec_sql($dbi,$sql); - $count=$#a; -} -my $elapsed = tv_interval ( $t0, [gettimeofday]); -print "$notice:\n"; -print "$sql\n" if ( $opt{v} ); -print "Done\n"; -print sprintf("total: %.02f sec; number: %d; for one: %.03f sec; found %d docs\n", $elapsed, $b, $elapsed/$b, $count+1 ); -$dbi -> disconnect; - -sub exec_sql { - my ($dbi, $sql, @keys) = @_; - my $sth=$dbi->prepare($sql) || die; - $sth->execute( @keys ) || die; - my $r; - my @row; - while ( defined ( $r=$sth->fetchrow_hashref ) ) { - push @row, $r; - } - $sth->finish; - return @row; -} - diff --git a/contrib/rtree_gist/bench/create_test.pl b/contrib/rtree_gist/bench/create_test.pl deleted file mode 100755 index cde92da6cd4..00000000000 --- a/contrib/rtree_gist/bench/create_test.pl +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/perl -use strict; - -my $NUM = 20000; -print "DROP TABLE boxtmp;\n"; -print "DROP TABLE boxtmp2;\n"; - -print "CREATE TABLE boxtmp (b box);\n"; -print "CREATE TABLE boxtmp2 (b box);\n"; - -srand(1); -open(DAT,">bbb.dat") || die; -foreach ( 1..$NUM ) { - #print DAT '(',int( 500+500*rand() ),',',int( 500+500*rand() ),',',int( 500*rand() ),',',int( 500*rand() ),")\n"; - my ( $x1,$y1, $x2,$y2 ) = ( - 10000*rand(), - 10000*rand(), - 10000*rand(), - 10000*rand() - ); - print DAT '(', - max($x1,$x2),',', - max($y1,$y2),',', - min($x1,$x2),',', - min($y1,$y2),")\n"; -} -close DAT; - -print "COPY boxtmp FROM stdin;\n"; -open(DAT,"bbb.dat") || die; -while(<DAT>) { print; } -close DAT; -print "\\.\n"; - -print "COPY boxtmp2 FROM stdin;\n"; -open(DAT,"bbb.dat") || die; -while(<DAT>) { print; } -close DAT; -print "\\.\n"; - -print "CREATE INDEX bix ON boxtmp USING gist (b gist_box_ops);\n"; -print "CREATE INDEX bix2 ON boxtmp2 USING rtree (b box_ops);\n"; - - -sub min { - return ( $_[0] < $_[1] ) ? $_[0] : $_[1]; -} -sub max { - return ( $_[0] > $_[1] ) ? $_[0] : $_[1]; -} |