On 25.02.2020 19:40, Konstantin Knizhnik wrote:
I have ported vectorize_engine  for zedstore (vertical table AM).
Results of TPCH-10G/Q1 are the following:

par.workers
        PG9_6
vectorize=off
        PG9_6
vectorize=on
        master
vectorize=off
jit=on
        master
vectorize=off
jit=off         master
vectorize=on
jit=on  master
vectorize=on
jit=off         zedstore vectorize=off
jit=on
        zedstore vectorize=off
jit=off         zedstore vectorize=on
jit=on  zedstore vectorize=on
jit=off
0
        36
        20
        16
        25.5
        15
        17.5
        18
        26
        17
        19
4
        10
        -
        5       7
        -
        -       5
        7
        -
        -



After correct calculation of used columns bitmapset and passing it to table_beginscan_with_column_projection function zedstore+vectorize_engine
show the best result (without parallel execution):


par.workers
        PG9_6
vectorize=off
        PG9_6
vectorize=on
        master
vectorize=off
jit=on
        master
vectorize=off
jit=off         master
vectorize=on
jit=on  master
vectorize=on
jit=off         zedstore vectorize=off
jit=on
        zedstore vectorize=off
jit=off         zedstore vectorize=on
jit=on  zedstore vectorize=on
jit=off
0
        36
        20
        16
        25.5
        15
        17.5
        18
        26
        14
        16
4
        10
        -
        5       7
        -
        -       5
        7
        -
        -



but still the difference with vanilla is minimal.


Profiler top is the following:

  16.30%  postgres  postgres             [.] zedstoream_getnexttile
   6.98%  postgres  postgres             [.] decode_chunk
   6.68%  postgres  liblz4.so.1.7.1      [.] LZ4_decompress_safe
   5.37%  postgres  vectorize_engine.so  [.] vfloat8_accum
   5.23%  postgres  postgres             [.] bpchareq

--

Konstantin Knizhnik
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company

Reply via email to