]> granicus.if.org Git - postgresql/commitdiff
pgbench: Comment on thread timing hazards.
authorNoah Misch <noah@leadboat.com>
Sun, 6 Oct 2013 13:56:43 +0000 (09:56 -0400)
committerNoah Misch <noah@leadboat.com>
Sun, 6 Oct 2013 13:57:26 +0000 (09:57 -0400)
Reviewed by Fabien COELHO.

contrib/pgbench/pgbench.c

index 926246e67bacdbd498dee9bb295085e318178154..816400f6dd8277255ed4e1e7de3da8f77bd1e049 100644 (file)
@@ -2896,7 +2896,16 @@ main(int argc, char **argv)
        }
        disconnect_all(state, nclients);
 
-       /* get end time */
+       /*
+        * XXX We compute results as though every client of every thread started
+        * and finished at the same time.  That model can diverge noticeably from
+        * reality for a short benchmark run involving relatively many threads.
+        * The first thread may process notably many transactions before the last
+        * thread begins.  Improving the model alone would bring limited benefit,
+        * because performance during those periods of partial thread count can
+        * easily exceed steady state performance.  This is one of the many ways
+        * short runs convey deceptive performance figures.
+        */
        INSTR_TIME_SET_CURRENT(total_time);
        INSTR_TIME_SUBTRACT(total_time, start_time);
        printResults(ttype, total_xacts, nclients, threads, nthreads,