Re: Efficient output for integer types

From: Andrey Borodin <x4mmm(at)yandex-team(dot)ru>
To: David Fetter <david(at)fetter(dot)org>
Cc: PostgreSQL Development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Efficient output for integer types
Date: 2019-09-15 09:06:29
Message-ID: E024B828-A33F-451A-AFE0-F1C98A4F8F7C@yandex-team.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> 15 сент. 2019 г., в 12:18, David Fetter <david(at)fetter(dot)org> написал(а):
>
> Please find attached a couple of patches intended to $subject.
>
> This patch set cut the time to copy ten million rows of randomly sized
> int8s (10 of them) by about a third, so at least for that case, it's
> pretty decent.

Hi! Looks cool.

Just curious if for any fixed base and square here

+ while(uvalue >= base)
{
+ const int i = (uvalue % square) * 2;
+ uvalue /= square;
+ vallen += 2;
+ memcpy(convert + sizeof(convert) - vallen, digits + i, 2);
+ }

compiler will have a chance to avoid idiv instruction?
Maybe few specialized functions could work better than generic algorithm?

Best regards, Andrey Borodin.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Dean Rasheed 2019-09-15 09:16:30 Re: BF failure: could not open relation with OID XXXX while querying pg_views
Previous Message David Fetter 2019-09-15 07:18:49 Efficient output for integer types