Re: [WIP Patch] Using 128-bit integers for sum, avg and statistics aggregates
От | Heikki Linnakangas |
---|---|
Тема | Re: [WIP Patch] Using 128-bit integers for sum, avg and statistics aggregates |
Дата | |
Msg-id | 544FAAC6.2090602@vmware.com обсуждение исходный текст |
Ответ на | Re: [WIP Patch] Using 128-bit integers for sum, avg and statistics aggregates (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: [WIP Patch] Using 128-bit integers for sum, avg and
statistics aggregates
|
Список | pgsql-hackers |
On 10/28/2014 04:06 PM, Tom Lane wrote: > Heikki Linnakangas <hlinnakangas@vmware.com> writes: >> It wouldn't be too hard to just do: > >> struct { >> int64 high_bits; >> uint64 low_bits; >> } pg_int128; > >> and some macros for the + - etc. operators. It might be less work than >> trying to deal with the portability issues of a native C datatype for this. > > -1. That's not that easy, especially for division, or if you want to > worry about overflow. The patch doesn't do division with the 128-bit integers. It only does addition and multiplication. Those are pretty straightforward to implement. > The point of this patch IMO is to get some low > hanging fruit; coding our own int128 arithmetic doesn't sound like > "low hanging" to me. I wasn't thinking of writing a full-fledged 128-bit type, just the the few operations needed for this patch. > Also, we've already got the configure infrastructure for detecting > whether a platform has working int64. It really shouldn't be much > work to transpose that to int128 (especially if we don't care about > printf support, which I think we don't). It would be nicer to be able to use the same code on all platforms. With a configure test, we'd still need a fallback implementation for platforms that don't have it. - Heikki
В списке pgsql-hackers по дате отправления: