This patch breaks out the timing info for the individual initialization phases.
Today without the patch:
pgrun pgbench -i -s 2000 -F 90 -q
dropping old tables...
creating tables...
generating data...
…
200000000 of 200000000 tuples (100%) done (elapsed 171.39 s, remaining 0.00 s)
vacuuming...
creating primary keys...
done.
With patch & default init options:
pgrun pgbench -i -s 2000 -F 90 -q
dropping old tables...
creating tables...
generating data...
…
200000000 of 200000000 tuples (100%) done (elapsed 166.53 s, remaining 0.00 s)
vacuuming...
creating primary keys...
total time: 312.94 s (drop 0.00 s, tables 0.03 s, insert 166.58 s, commit 0.51 s, primary 92.59 s, foreign 0.00 s, vacuum 53.23 s)
done.
With patch and ‘-I dtgvpf’ options:
pgrun pgbench -i -s 2000 -F 90 -q -I dtgvpf
dropping old tables...
creating tables...
generating data...
…
200000000 of 200000000 tuples (100%) done (elapsed 168.76 s, remaining 0.00 s)
vacuuming...
creating primary keys...
creating foreign keys...
total time: 353.52 s (drop 1.67 s, tables 0.11 s, insert 168.82 s, commit 0.46 s, primary 92.32 s, foreign 40.11 s, vacuum 50.03 s)
done.
pgbench -i -s 2000 -F 90 -q -I d
dropping old tables...
total time: 1.96 s (drop 1.96 s, tables 0.00 s, insert 0.00 s, commit 0.00 s, primary 0.00 s, foreign 0.00 s, vacuum 0.00 s)
done.
pgrun pgbench -i -s 2000 -F 90 -q -I t
creating tables...
total time: 0.08 s (drop 0.00 s, tables 0.08 s, insert 0.00 s, commit 0.00 s, primary 0.00 s, foreign 0.00 s, vacuum 0.00 s)
done.
pgrun pgbench -i -s 2000 -F 90 -q -I g
creating tables...
…
200000000 of 200000000 tuples (100%) done (elapsed 165.62 s, remaining 0.00 s)
total time: 166.33 s (drop 0.00 s, tables 0.00 s, insert 165.68 s, commit 0.66 s, primary 0.00 s, foreign 0.00 s, vacuum 0.00 s)
done.
pgrun pgbench -i -s 2000 -F 90 -q -I p
creating primary keys...
total time: 100.93 s (drop 0.00 s, tables 0.00 s, insert 0.00 s, commit 0.00 s, primary 100.93 s, foreign 0.00 s, vacuum 0.00 s)
done.
doug