Re: Use pread and pwrite instead of lseek + write and read

Поиск
Список
Период
Сортировка
От Claudio Freire
Тема Re: Use pread and pwrite instead of lseek + write and read
Дата
Msg-id CAGTBQpZ2gVwFrCe=Fu_FNP0vrefndb6tqChPy2=MQHgMuDcbrQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Use pread and pwrite instead of lseek + write and read  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On Wed, Aug 17, 2016 at 10:40 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Oskari Saarenmaa <os@ohmu.fi> writes:
>> On my laptop a simple pgbench run (scale 100, 15 minutes) shows a 1.5%
>> performance improvement.
>
> I would have hoped for a lot better result before anyone would propose
> that we should deal with all the portability issues this'll create.
>
>> A 1.5% performance improvement is small but
>> measurable - and IMV more importantly it allows us to drop more than 100
>> lines of backwards (compatible?) code; maybe we could start targeting
>> more recent platforms in v10?
>
> That's basically nonsense: we'll end up adding way more than that to
> deal with platforms that haven't got these APIs.

Perhaps a better target would then be to try and make use of readv and
writev, which should both be useful for sequential access of various
kinds and network I/O. For instance, when reading 10 sequential
buffers, a readv could fill 10 buffers at a time.

I remember a project where we got a linear improvement in thoughput by
using them for network I/O, because we were limited by packet
thoughput rather than byte thoughput, and using the iovec utilities
reduced the overhead considerably.

But all this is anecdotal evidence in any case, YMMV.



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

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: PATCH: Exclude additional directories in pg_basebackup
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Use pread and pwrite instead of lseek + write and read