Thread: How to do fast performance timing

How to do fast performance timing

From
Benedikt Grundmann
Date:
At Jane Street we have recently spend a lot of time trying to get a fast gettimeofday.  I saw lots of references in various postgres hacker threads related to a lack of such a facility so ....

The culmination of those efforts can be read here:

https://github.com/janestreet/core/blob/master/lib/time_stamp_counter.mli
and

https://github.com/janestreet/core/blob/master/lib/time_stamp_counter.ml

it's all OCaml but the code is mostly imperative and very well documented.  In particular we made an effort to document our assumption.  There are a few which are ocaml specific.  But a lot of the lessons we have learned here should be applicable to postgres.

Hope this will be useful,

Cheers,

Bene

PS: We are releasing our code under the Apache license so you should feel free to reuse the ideas.

Re: How to do fast performance timing

From
Jim Nasby
Date:
On 12/9/13 7:33 AM, Benedikt Grundmann wrote:
> At Jane Street we have recently spend a lot of time trying to get a fast gettimeofday.  I saw lots of references in
variouspostgres hacker threads related to a lack of such a facility so ....
 
>
> The culmination of those efforts can be read here:
>
> https://github.com/janestreet/core/blob/master/lib/time_stamp_counter.mli
> and
>
> https://github.com/janestreet/core/blob/master/lib/time_stamp_counter.ml
>
> it's all OCaml but the code is mostly imperative and very well documented.  In particular we made an effort to
documentour assumption.  There are a few which are ocaml specific.  But a lot of the lessons we have learned here
shouldbe applicable to postgres.
 

Looks interesting. I think this isn't nearly as big an issue in Postgres as it used to be, but I think there's also
thingswe've been avoiding because of the overhead. IE: using IO response time to determine if something came from cache
ornot.
 
-- 
Jim C. Nasby, Data Architect                       jim@nasby.net
512.569.9461 (cell)                         http://jim.nasby.net