public inbox for [email protected]  
help / color / mirror / Atom feed
From: Nazir Bilal Yavuz <[email protected]>
To: Manni Wood <[email protected]>
Cc: Nathan Bossart <[email protected]>
Cc: KAZAR Ayoub <[email protected]>
Cc: Neil Conway <[email protected]>
Cc: Andrew Dunstan <[email protected]>
Cc: Shinya Kato <[email protected]>
Cc: PostgreSQL-development <[email protected]>
Subject: Re: Speed up COPY FROM text/CSV parsing using SIMD
Date: Tue, 10 Mar 2026 14:42:28 +0300
Message-ID: <CAN55FZ3Tn2DQUq40rASjrC14EQR=FzF7ynFRsqDf8tD=N_PX9w@mail.gmail.com> (raw)
In-Reply-To: <CAKWEB6oE_1aNRV-utrAkUbYhM-0z1fZRvYLrDC4SxfW-UXOmpA@mail.gmail.com>
References: <CAKWEB6pq7C0Wv1wT9Y1_c_1fn-+cR8pb210Pj3w2FcEOmNGxbQ@mail.gmail.com>
	<CAN55FZ2DT4-k06umn=7NYG+NoM6gnVJVQCCwRrr2qOraO+Jadw@mail.gmail.com>
	<aZikzQP6WPJ5Rq2S@nathan>
	<CAN55FZ3cBN_TncLVWyXAKm-KfewguN1AUjyRhoR6zL_QCxHh7A@mail.gmail.com>
	<CAKWEB6qzsZEQ4Czo9QBFiMXqdXVJknHUJwg6wjRwNzLn4+Jw0g@mail.gmail.com>
	<CAN55FZ2O2Ls==sdpROHqxWRx-PMBZ0riJ6eVKoHj8=vssTavxw@mail.gmail.com>
	<aZ3kYQnF9_u6sUQp@nathan>
	<CAN55FZ3+NYF1TkKyNtpRQuLiaauSYk9G5tA+fpruOA4-14Y_ZA@mail.gmail.com>
	<aaXrGSyq4u2d9qEC@nathan>
	<CAN55FZ2DNaKCK3Kf_kHizb2pAbQvULeDYtzaiz97B_xz7YbrkQ@mail.gmail.com>
	<aa8QlTVEDhG1JU0Z@nathan>
	<CAKWEB6oE_1aNRV-utrAkUbYhM-0z1fZRvYLrDC4SxfW-UXOmpA@mail.gmail.com>

Hi,

On Tue, 10 Mar 2026 at 05:30, Manni Wood <[email protected]> wrote:
>
> Here are some benchmarks showing what performance will look like for users who continue to use default_toast_compression = pglz.
>
> all compiled by meson with debugoptimized (-g -O2)
>
> arm NARROW master without inline (git revert dc592a41557b072178f1798700bf9c69cd8e4235) default_toast_compression = pglz
> TXT :                 10055.141000 ms
> CSV :                 10549.174500 ms
> TXT with 1/3 escapes: 10213.864750 ms
> CSV with 1/3 quotes:  12188.039000 ms
>
> arm NARROW master with inline with v11patch default_toast_compression = pglz
> TXT :                 10070.153750 ms  -0.149304% regression
> CSV :                 10161.348750 ms   3.676361% improvement
> TXT with 1/3 escapes: 10618.005000 ms  -3.956781% regression
> CSV with 1/3 quotes:  12279.366250 ms  -0.749319% regression
>
> arm WIDE master without inline (git revert dc592a41557b072178f1798700bf9c69cd8e4235) default_toast_compression = pglz
> TXT :                 11355.602750 ms
> CSV :                 13893.110500 ms
> TXT with 1/3 escapes: 12872.690500 ms
> CSV with 1/3 quotes:  16722.262500 ms
>
> arm WIDE master with inline with v11patch default_toast_compression = pglz
> TXT :                 9001.007250 ms  20.735099% improvement
> CSV :                 8988.679750 ms  35.301171% improvement
> TXT with 1/3 escapes: 12191.137000 ms  5.294569% improvement
> CSV with 1/3 quotes:  16297.541500 ms  2.539854% improvement
>
>
> x86 NARROW master without inline (git revert dc592a41557b072178f1798700bf9c69cd8e4235) default_toast_compression = pglz
> TXT :                 26243.084500 ms
> CSV :                 27719.564000 ms
> TXT with 1/3 escapes: 29578.192750 ms
> CSV with 1/3 quotes:  34467.571250 ms
>
> x86 NARROW master with inline with v11patch default_toast_compression = pglz
> TXT :                 26371.996750 ms  -0.491224% regression
> CSV :                 26137.186500 ms   5.708522% improvement
> TXT with 1/3 escapes: 28080.201000 ms   5.064514% improvement
> CSV with 1/3 quotes:  32557.377500 ms   5.542003% improvement
>
> x86 WIDE master without inline (git revert dc592a41557b072178f1798700bf9c69cd8e4235) default_toast_compression = pglz
> TXT :                 28734.774750 ms
> CSV :                 35700.485000 ms
> TXT with 1/3 escapes: 32376.878250 ms
> CSV with 1/3 quotes:  47024.985750 ms
>
> x86 WIDE master with inline with v11patch default_toast_compression = pglz
> TXT :                 22753.755750 ms  20.814567% improvement
> CSV :                 22977.195500 ms  35.638982% improvement
> TXT with 1/3 escapes: 29526.887000 ms   8.802551% improvement
> CSV with 1/3 quotes:  40298.196750 ms  14.304712% improvement

Thank you for the benchmark, results look nice! So, there is almost no
regression for both pglz and lz4 toast compression modes. Best case is
~60% improvement for the lz4 and ~35% improvement for the pglz.

-- 
Regards,
Nazir Bilal Yavuz
Microsoft





view thread (114+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
  Subject: Re: Speed up COPY FROM text/CSV parsing using SIMD
  In-Reply-To: <CAN55FZ3Tn2DQUq40rASjrC14EQR=FzF7ynFRsqDf8tD=N_PX9w@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox