Re: Numeric performances - Mailing list pgsql-general

From PFC
Subject Re: Numeric performances
Date
Msg-id op.ttd9nzwccigqcu@apollo13
Whole thread Raw
In response to Re: Numeric performances  (Vincenzo Romano <vincenzo.romano@gmail.com>)
Responses Re: Numeric performances  (Vincenzo Romano <vincenzo.romano@gmail.com>)
List pgsql-general
    This is a 32 bit CPU by the way.

    Consider this :

- There are 100K rows
- The CPU executes about 3 billion instructions per second if everything
is optimum
- "SELECT sum(n) FROM test", takes, say 60 ms

    This gives about 1800 CPU ops per row.
    A Float addition versus an Int addition is a drop in the sea.

    I believe the marked difference between Floats/Ints (faster) and
Numeric/Bigint (slower) comes from being passed by value or by pointers.

    A single access which misses the CPU cache and has to go fetch data from
the real RAM spends a lot more cycles than the simple loops in a NUMERIC
addition which will hit L1 cache.
    Nowadays cache access patterns matter more than how many actual CPU
instructions are executed...

>> forum_bench=> SELECT sum(i) FROM test;
>> Temps : 46,589 ms
>> forum_bench=> SELECT sum(f) FROM test;
>> Temps : 63,865 ms

>> forum_bench=> SELECT sum(b) FROM test;
>> Temps : 157,018 ms
>> forum_bench=> SELECT sum(n) FROM test;
>> Temps : 124,816 ms

pgsql-general by date:

Previous
From: Ranieri Mazili
Date:
Subject: Jumping Weekends
Next
From: Tino Wildenhain
Date:
Subject: Re: multimaster