Re: The first function call

2018-01-11 Thread David G. Johnston
On Thu, Jan 11, 2018 at 8:52 AM, Diego Silva e Silva <diego...@gmail.com>
wrote:

> Hello,
>
> The first function call is 10 times slower than the other calls in the
> same session. Is it possible to shorten this long time on the first call?
> For example. Call my function for once, this call returns at 70ms on the
> next call, the return is at 7ms.
>
>
You would need to provide considerably more detail about the function to
receive any useful suggestions - there is no magic switch that you can
throw to gain the benefits of caching.  Session pooling is usually the
first solution to at least minimize how often the cache goes away.

David J.
​
P.S. ​This is not an on-topic question for the -hackers list, -general is a
better location.


Re: The first function call

2018-01-11 Thread Tom Lane
Diego Silva e Silva <diego...@gmail.com> writes:
> The first function call is 10 times slower than the other calls in the same
> session. Is it possible to shorten this long time on the first call?
> For example. Call my function for once, this call returns at 70ms on the
> next call, the return is at 7ms.

The first few operations in a new session are necessarily going to be
slower than later ones, because of the need to populate internal caches
etc.  If your function is written in a PL you might be able to shave
some time off by preloading the PL's shared library (see
shared_preload_libraries), but that will only go so far.  The real
solution to this class of complaints is generally "use a connection
pooler".

regards, tom lane



The first function call

2018-01-11 Thread Diego Silva e Silva
Hello,

The first function call is 10 times slower than the other calls in the same
session. Is it possible to shorten this long time on the first call?
For example. Call my function for once, this call returns at 70ms on the
next call, the return is at 7ms.

thanks.