[MCOL-5140] Improve min/max to use vectorized updates (AMD+ ARM) Created: 2022-06-16  Updated: 2022-08-10  Resolved: 2022-08-10

Status: Closed
Project: MariaDB ColumnStore
Component/s: PrimProc
Affects Version/s: 6.3.1
Fix Version/s: 22.08.1

Type: New Feature Priority: Major
Reporter: Roman Assignee: Daniel Lee (Inactive)
Resolution: Fixed Votes: 0
Labels: performance

Sprint: 2021-17
Assigned for Review: Roman Roman

 Description   

The code in primitives/linux-port/column.cpp:vectorizedFiltering suffers calculating min/max values for a block in a scalar manner that takes place in vectWriteRIDValues/vectWriteColValues. According with my observations we can reduce the timings 20% down removing this deficiency.
Tested with 10**9 int64 records and a simple query 'SELECT c1 FROM t1 WHERE c1 = 5 OR c1 = 10;



 Comments   
Comment by Andrey Piskunov (Inactive) [ 2022-07-15 ]

Done, after testing (on 10**6 values, for a 30 s period) the increase shown is from 3826 queries to 5612, about 45%.

Comment by Roman [ 2022-08-04 ]

4QA this optimization should benefit query processing(that has filters on numbers or column types that are reduced to numbers) in general. The query example is mentioned in the description.

Comment by Daniel Lee (Inactive) [ 2022-08-10 ]

Build verified: 22.08-1 (#5243)

Closed by regression test

Generated at Thu Feb 08 02:55:38 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.