Re: Speed up COPY FROM text/CSV parsing using SIMD
| От | Nathan Bossart |
|---|---|
| Тема | Re: Speed up COPY FROM text/CSV parsing using SIMD |
| Дата | |
| Msg-id | abQZmZ0KZesCxfR0@nathan обсуждение исходный текст |
| Ответ на | Re: Speed up COPY FROM text/CSV parsing using SIMD (Nazir Bilal Yavuz <byavuz81@gmail.com>) |
| Ответы |
Re: Speed up COPY FROM text/CSV parsing using SIMD
Re: Speed up COPY FROM text/CSV parsing using SIMD |
| Список | pgsql-hackers |
On Fri, Mar 13, 2026 at 04:34:49PM +0300, Nazir Bilal Yavuz wrote: > On Fri, 13 Mar 2026 at 14:57, Nazir Bilal Yavuz <byavuz81@gmail.com> 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. Let's just re-add the temporary variable for hit_eof. The struct idea is clever, but it's just a little more complicated than I think is necessary here. I've also removed the goto in favor of just duplicating the "out" code, like you had before. I'd like to avoid sporadic #ifndef USE_NO_SIMD uses, and goto is out of fashion, anyway. -- nathan
Вложения
В списке pgsql-hackers по дате отправления: