Re: B-Tree support function number 3 (strxfrm() optimization)
От | Peter Geoghegan |
---|---|
Тема | Re: B-Tree support function number 3 (strxfrm() optimization) |
Дата | |
Msg-id | CAM3SWZQ6xJ3rY2bdV5hM1jRXrzLc_TzLqmdqGEkRHfXM=Yro8Q@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: B-Tree support function number 3 (strxfrm() optimization) (Greg Stark <stark@mit.edu>) |
Список | pgsql-hackers |
On Fri, Apr 4, 2014 at 4:29 PM, Greg Stark <stark@mit.edu> wrote: > 1) Would it make more sense to use a floating point instead of an integer? I > saw a need for a function like this when I was looking into doing GPU sorts. > But GPUs expect floating point values. There is no reason to assume that the normalized keys within the memtuples array need to be compared as integers, floats, or anything else. That's a matter for the opclass author. Right now, it happens to be the case that some of our earlier aspirations for SortSupport, such as alternative user-defined sorting algorithms are not supported. This is presumably only because no one came up with a compelling alternative (i.e. no one followed through with trying to figure out if radix sort added much value). It wouldn't be very hard to make SortSupport and tuplesort care about that, but that's a separate issue. > 2) I would want to see a second data type, probably numeric, before > committing to be sure we had a reasonably generic api. But it's pretty > simply to do so. I could pretty easily write a numeric proof of concept. I don't think it would prove anything about the interface, though - I've only had tuplesort and SortSupport assume that normalized keys are generated as tuples are initially copied over (where applicable), as well as what to do when a non-reliable comparison returns 0 (where applicable). That is surely the kernel of the general idea, and nothing more, so I don't see that numeric support proves the suitability of the interface (or at least the essential idea of the interface, as opposed to exactly how the mechanism works in the proposed patch, where the SortSupport struct is slightly extended to express this idea). A large majority of new code is the new SortSupport routine for text. -- Peter Geoghegan
В списке pgsql-hackers по дате отправления: