On Thu, May 15, 2014 at 8:19 AM, Benedikt Grundmann < bgrundm...@janestreet.com> wrote:
> I posted this on this mailing list before at Jane Street we have developed > very fast code to get timing information based on TSC if available. It's > all ocaml but well documented and mostly just calls to c functions so > should be easy to port to C and we release it under a very liberal license > so it should be no problem to take the ideas: > > https://github.com/janestreet/core/blob/master/lib/time_stamp_counter.mli > > Hope this is useful. > > Bene > > Also I'm sorry for top posting. hackers is the only mailing list I'm on that requires this and some others require top posting so this runs counter my habits and I only realized after sending... > > On Wed, May 14, 2014 at 12:41 PM, Robert Haas <robertmh...@gmail.com>wrote: > >> On Tue, May 13, 2014 at 11:34 PM, Greg Stark <st...@mit.edu> wrote: >> > I always assumed the kernel used rdtsc to implement some of the high >> > performance timers. It can save the current time in a mapped page when >> > it schedules a process and then in the vdso syscall (ie in user-space) >> > it can use rdtsc to calculate the offset needed to adjust that >> > timestamp to the current time. This seems consistent with your >> > calculations that showed the 40ns overhead with +/- 10ns precision. >> >> Crazy idea: Instead of trying to time precisely the amount of time we >> spend in each node, configure a very-high frequency timer interrupt >> (or background thread?) that does: >> >> SomeGlobalVariablePointingToTheCurrentNode->profiling_counter++; >> >> -- >> Robert Haas >> EnterpriseDB: http://www.enterprisedb.com >> The Enterprise PostgreSQL Company >> >> >> -- >> Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) >> To make changes to your subscription: >> http://www.postgresql.org/mailpref/pgsql-hackers >> > >