Hi, On Fri, 13 Mar 2026 at 14:57, Nazir Bilal Yavuz <[email protected]> wrote: > > Unfortunately, v15 causes a regression for a 'csv & wide & 1/3' case > on my end. v14 was taking 8000ms but v15 took ~9100ms. If we add the > tmp_hit_eof variable then the regression disappears. Also, if I use a > struct like below, regression disappears again.
> When I removed the tmp_hit_eof variable on v14, I didn't encounter any > regression. I really don't understand why this is happening on my end. > Manni didn't encounter any regression on the benchmark [1]. Problem might be related to gcc. I am using Debian Trixie and my current gcc version is 'gcc version 14.2.0 (Debian 14.2.0-19)'. If I compile Postgres with 'Debian clang version 19.1.7 (3+b1)', then there is no regression, which makes more sense IMO. Here is a comparison for csv & wide & 1/3 case. Postgres is compiled with buildtype=debugoptimized and default_toast_compression is lz4. +--------------------------------+ | CSV & WIDE & 1/3, LZ4, -O2 | +--------------+--------+--------+ | | gcc | clang | | | 14.0.2 | 19.1.7 | +--------------+--------+--------+ | old master | 8250 | 10400 | +--------------+--------+--------+ | v14 | 8100 | 9800 | +--------------+--------+--------+ | v15 | 9200 | 9800 | +--------------+--------+--------+ | v15 + struct | 7750 | 9800 | +--------------+--------+--------+ -- Regards, Nazir Bilal Yavuz Microsoft
