Re: Why JIT speed improvement is so modest? - Mailing list pgsql-hackers

From Konstantin Knizhnik
Subject Re: Why JIT speed improvement is so modest?
Date
Msg-id 3ea180b0-4a82-c98c-42d0-12e8e42c0b36@postgrespro.ru
Whole thread Raw
In response to Re: Why JIT speed improvement is so modest?  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: Why JIT speed improvement is so modest?  (Konstantin Knizhnik <k.knizhnik@postgrespro.ru>)
Re: Why JIT speed improvement is so modest?  (Andres Freund <andres@anarazel.de>)
List pgsql-hackers

On 06.12.2019 18:53, Robert Haas wrote:
> On Thu, Nov 28, 2019 at 2:08 AM Konstantin Knizhnik
> <k.knizhnik@postgrespro.ru> wrote:
>> calls float4_accum for each row of T, the same query in VOPS will call
>> vops_float4_avg_accumulate for each tile which contains 64 elements.
>> So vops_float4_avg_accumulate is called 64 times less than float4_accum.
>> And inside it contains straightforward loop:
>>
>>               for (i = 0; i < TILE_SIZE; i++) {
>>                   sum += opd->payload[i];
>>               }
>>
>> which can be optimized by compiler (loop unrolling, use of SIMD
>> instructions,...).
> Part of the reason why the compiler can optimize that so well is
> probably related to the fact that it includes no overflow checks.

May it makes sense to use in aggregate transformation function which is 
not checking for overflow and perform this check only in final function?
NaN and Inf values will be preserved in any case...

-- 
Konstantin Knizhnik
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company




pgsql-hackers by date:

Previous
From: Justin Pryzby
Date:
Subject: Re: error context for vacuum to include block number
Next
From: Andres Freund
Date:
Subject: Re: global / super barriers (for checksums)