resultcachebench2.sh.txt

text/plain

Filename: resultcachebench2.sh.txt
Type: text/plain
Part: 0
Message: Re: Hybrid Hash/Nested Loop joins and caching results from subplans
#!/bin/bash
seconds=60

psql -c "drop table if exists hundredk, lookup1, lookup100;" postgres
psql -c "create table hundredk (hundredk int, tenk int, thousand int, hundred int, ten int, one int);" postgres
psql -c "insert into hundredk select x%100000,x%10000,x%1000,x%100,x%10,1 from generate_Series(1,100000) x;" postgres

psql -c "create table lookup100 (a int);" postgres
psql -c "insert into lookup100 select x from generate_Series(1,100000)x,generate_Series(1,100);" postgres
psql -c "create index on lookup100 (a);" postgres

psql -c "create table lookup1 (a int);" postgres
psql -c "insert into lookup1 select x from generate_Series(1,100000)x;" postgres
psql -c "create index on lookup1 (a);" postgres

psql -c "vacuum analyze lookup1, lookup100, hundredk;" postgres

for branch in master resultcache_v8 resultcache_v9
do
	cd pg_src
	git checkout $branch
	make clean -s
	make -j -s
	make install -s
	cd
	./ss.sh
	sleep 1
	psql -c "select pg_prewarm('lookup1'), pg_prewarm('lookup100'), pg_prewarm('hundredk');" postgres
	for tbl in lookup1 lookup100
	do
		for target in "count(*)" "count(l.a)" "'*'"
		do
			for col in thousand hundred ten one
			do
				echo "select $target from hundredk hk inner join $tbl l on hk.$col = l.a" > bench.sql
				echo Testing $branch $tbl $target $col >> bench.log
				pgbench -n -T $seconds -f bench.sql postgres | grep latency >> bench.log
			done
		done
	done
done