Re: [PATCH] Performance Improvement For Copy From Binary Files

Поиск
Список
Период
Сортировка
От Amit Langote
Тема Re: [PATCH] Performance Improvement For Copy From Binary Files
Дата
Msg-id CA+HiwqHQmGsY0g5wCuQeNQr8YYO01grtT4Ui+x0sk14JMF=Q5A@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [PATCH] Performance Improvement For Copy From Binary Files  (Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>)
Ответы Re: [PATCH] Performance Improvement For Copy From Binary Files  (vignesh C <vignesh21@gmail.com>)
Список pgsql-hackers
On Mon, Jul 13, 2020 at 11:58 PM Bharath Rupireddy
<bharath.rupireddyforpostgres@gmail.com> wrote:
> > I had one small comment:
> > +{
> > +       int             copied_bytes = 0;
> > +
> > +#define BUF_BYTES      (cstate->raw_buf_len - cstate->raw_buf_index)
> > +#define DRAIN_COPY_RAW_BUF(cstate, dest, nbytes)\
> > +       do {\
> > +               memcpy((dest), (cstate)->raw_buf +
> > (cstate)->raw_buf_index, (nbytes));\
> > +               (cstate)->raw_buf_index += (nbytes);\
> > +       } while(0)
> >
> > BUF_BYTES could be used in CopyLoadRawBuf function also.
> >
>
> Thanks Vignesh for the find out. I changed and attached the v5 patch.
> The regression tests(make check and make check-world) ran
> successfully.

Good idea, thanks.

In CopyLoadRawBuf(), we could also change the condition if
(cstate->raw_buf_index < cstate->raw_buf_len) to if (BUF_BYTES > 0),
which looks clearer.

Also, if we are going to use the macro more generally, let's make it
look less localized.  For example, rename it to RAW_BUF_BYTES similar
to RAW_BUF_SIZE and place their definitions close by.  It also seems
like a good idea to make 'cstate' a parameter for clarity.

Attached v6.

-- 
Amit Langote
EnterpriseDB: http://www.enterprisedb.com

Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: Ideas about a better API for postgres_fdw remote estimates
Следующее
От: Bharath Rupireddy
Дата:
Сообщение: Re: Retry Cached Remote Connections for postgres_fdw in case remote backend gets killed/goes away