Re: Speed up COPY FROM text/CSV parsing using SIMD - Mailing list pgsql-hackers

From Manni Wood
Subject Re: Speed up COPY FROM text/CSV parsing using SIMD
Date
Msg-id CAKWEB6p-9cwDhnN4GKOFz0Yzqb7PtTLChH-+wjd-SNhrbiJuLA@mail.gmail.com
Whole thread
In response to Re: Speed up COPY FROM text/CSV parsing using SIMD  (Nathan Bossart <nathandbossart@gmail.com>)
Responses Re: Speed up COPY FROM text/CSV parsing using SIMD
List pgsql-hackers


On Mon, Feb 16, 2026 at 12:15 PM Nathan Bossart <nathandbossart@gmail.com> wrote:
On Mon, Feb 16, 2026 at 11:04:58AM -0600, Nathan Bossart wrote:
> On Fri, Feb 13, 2026 at 09:34:13PM -0600, Manni Wood wrote:
>> v7-0001 + v7-0002 applied to master certainly seems promising: nice to see
>> speed improvements across the board on both x86 and arm!
>
> Thanks for testing.  Based on these results, I think we can abandon 0002,
> at least for now.

Have you tested small rows, i.e., less than 16 bytes per row?  I'm
wondering if that regresses at all.

--
nathan

I ran some tests using narrow rows that look like this:

$ head t_none.txt
BB      AA
BB      AA
BB      AA

$ head t_none.csv
BB,AA
BB,AA
BB,AA

$ head t_escape.txt
B\\B    A\\A
B\\B    A\\A
B\\B    A\\A

$ head t_quote.csv
"B""B","A""A"
"B""B","A""A"
"B""B","A""A"

Here are the results on my x86 tower and my arm raspberry pi 5:

x86 NARROW master copy from
TXT :                 2477.022500 ms
CSV :                 2825.095500 ms
TXT with 1/3 escapes: 2620.575000 ms
CSV with 1/3 quotes:  3249.058750 ms

x86 NARROW v70001 copy from
TXT :                 2475.659000 ms  0.055046% improvement
CSV :                 2421.976750 ms  14.269208% improvement
TXT with 1/3 escapes: 2660.953750 ms  -1.540836% regression
CSV with 1/3 quotes:  3255.546750 ms  -0.199689% regression

x86 NARROW v70002 copy from
TXT :                 2481.372250 ms  -0.175604% regression
CSV :                 2437.541250 ms  13.718271% improvement
TXT with 1/3 escapes: 2646.300000 ms  -0.981655% regression
CSV with 1/3 quotes:  3202.014500 ms  1.447935% improvement


arm NARROW master copy from
TXT :                 2294.270500 ms
CSV :                 2085.839000 ms
TXT with 1/3 escapes: 2467.966000 ms
CSV with 1/3 quotes:  2485.533000 ms

arm NARROW v70001 copy from
TXT :                 1982.497500 ms  13.589200% improvement
CSV :                 2005.829500 ms  3.835843% improvement
TXT with 1/3 escapes: 2111.778250 ms  14.432442% improvement
CSV with 1/3 quotes:  2441.370000 ms  1.776802% improvement

arm NARROW v70002 copy from
TXT :                 1975.982250 ms  13.873179% improvement
CSV :                 2022.744000 ms  3.024922% improvement
TXT with 1/3 escapes: 2080.273000 ms  15.709009% improvement
CSV with 1/3 quotes:  2476.819000 ms  0.350589% improvement

Hope this helps!
--
-- Manni Wood EDB: https://www.enterprisedb.com

pgsql-hackers by date:

Previous
From: Amit Kapila
Date:
Subject: Re: pgstat include expansion
Next
From: Amit Kapila
Date:
Subject: Re: Add into REFRESH PUBLICATION parameter exception_behaviour