Re: pgbench - implement strict TPC-B benchmark - Mailing list pgsql-hackers

From Fabien COELHO
Subject Re: pgbench - implement strict TPC-B benchmark
Date
Msg-id alpine.DEB.2.21.1908051711210.25900@lancre
Whole thread Raw
In response to Re: pgbench - implement strict TPC-B benchmark  (Fabien COELHO <coelho@cri.ensmp.fr>)
Responses Re: pgbench - implement strict TPC-B benchmark  (Andres Freund <andres@anarazel.de>)
List pgsql-hackers
Hello Andres,

> If not, do you think advisable to spend time improving the evaluator & 
> variable stuff and possibly other places for an overall 15% gain?
>
> Also, what would be the likelyhood of such optimization patch to pass?
>
> I could do a limited variable management improvement patch, eventually, I 
> have funny ideas to speedup the thing, some of which outlined above, some 
> others even more terrible.

Attached is a quick PoC.

   sh> cat set.sql
   \set x 0
   \set y :x
   \set z :y
   \set w :z
   \set v :w
   \set x :v
   \set y :x
   \set z :y
   \set w :z
   \set v :w
   \set x :v
   \set y :x
   \set z :y
   \set w :z
   \set v :w
   \set x1 :x
   \set x2 :x
   \set y1 :z
   \set y0 :w
   \set helloworld :x

Before the patch:

   sh> ./pgbench -T 10 -f vars.sql
   ...
   tps = 802966.183240 (excluding connections establishing) # 0.8M

After the patch:

   sh> ./pgbench -T 10 -f vars.sql
   ...
   tps = 2665382.878271 (excluding connections establishing) # 2.6M

Which is a (somehow disappointing) * 3.3 speedup. The impact on the 3 
complex expressions tests is not measurable, though.

Probably variable management should be reworked more deeply to cleanup the 
code.

Questions:
  - how likely is such a patch to pass? (IMHO not likely)
  - what is its impact to overall performance when actual queries
    are performed (IMHO very small).

-- 
Fabien.
Attachment

pgsql-hackers by date:

Previous
From: Christoph Berg
Date:
Subject: Re: [PATCH] Stop ALTER SYSTEM from making bad assumptions
Next
From: David Fetter
Date:
Subject: Re: [PATCH] Stop ALTER SYSTEM from making bad assumptions