[PATCH] SortSupport for macaddr type - Mailing list pgsql-hackers

From Brandur
Subject [PATCH] SortSupport for macaddr type
Date
Msg-id 20160826174422.GA61899@st-brandur1.local
Whole thread Raw
Responses Re: [PATCH] SortSupport for macaddr type  (Brandur <brandur@mutelight.org>)
Re: [PATCH] SortSupport for macaddr type  (Julien Rouhaud <julien.rouhaud@dalibo.com>)
List pgsql-hackers
Hello,

I've attached a patch to add SortSupport for Postgres' macaddr which has the
effect of improving the performance of sorting operations for the type. The
strategy that I employ is very similar to that for UUID, which is to create
abbreviated keys by packing as many bytes from the MAC address as possible into
Datums, and then performing fast unsigned integer comparisons while sorting.

I ran some informal local benchmarks, and for cardinality greater than 100k
rows, I see a speed up on `CREATE INDEX` of roughly 25% to 65%. (For those
interested, I put a few more numbers into a small report here [2].)

Admittedly, this is not quite as useful as speeding up sorting on a more common
data type like TEXT or UUID, but the change still seems like a useful
performance improvement. I largely wrote it as an exercise to familiarize
myself with the Postgres codebase.

I'll add an entry into the current commitfest as suggested by the Postgres Wiki
and follow up here with a link.

Thanks, and if anyone has feedback or other thoughts, let me know!

Brandur

[1] https://www.postgresql.org/message-id/CAM3SWZR4avsTwwNVUzRNbHk8v36W-QBqpoKg=OGkWWy0dKtWBA@mail.gmail.com
[2] https://docs.google.com/spreadsheets/d/1cUqbg9RTgSo16WrrfJJwDP1eDaWL3TNOxnIOFNpfwgA/edit?usp=sharing

Attachment

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: PG_DIAG_SEVERITY and a possible bug in pq_parse_errornotice()
Next
From: Brandur
Date:
Subject: Re: [PATCH] SortSupport for macaddr type