Re: [pgsql-hackers-win32] Help with tuning this query (with
От | John A Meinel |
---|---|
Тема | Re: [pgsql-hackers-win32] Help with tuning this query (with |
Дата | |
Msg-id | 422C8E37.8000009@arbash-meinel.com обсуждение исходный текст |
Ответ на | Re: [pgsql-hackers-win32] Help with tuning this query (with explain analyze finally) (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: [pgsql-hackers-win32] Help with tuning this query (with
|
Список | pgsql-performance |
Tom Lane wrote: >John A Meinel <john@arbash-meinel.com> writes: > > >>>>Can we just replace gettimeofday() with a version that's basically: >>>> >>>> >>>No, because it's also used for actual time-of-day calls. It'd be >>>necessary to hack executor/instrument.c in particular. >>> >>> > > > >>Or we modify the win32 gettimeofday call to something like: >> >> > >That's what Magnus was talking about, but it's really no good because >it would cause Postgres' now() function to fail to track post-boot-time >changes in the system date setting. Which I think would rightly be >considered a bug. > >The EXPLAIN ANALYZE instrumentation code will really be happier with a >straight time-since-bootup counter; by using gettimeofday, it is >vulnerable to giving wrong answers if someone changes the date setting >while the EXPLAIN is running. But there is (AFAIK) no such call among >the portable Unix syscalls. It seems reasonable to me to #ifdef that >code to make use of QueryPerformanceCounter on Windows. This does not >mean we want to alter the behavior of gettimeofday() where it's being >used to find out the time of day. > > regards, tom lane > > > What if you changed the "initialized" to if (count & 0xFF == 0) { count = 1; // get the new time of day } ++count; Then we would only be wrong for 256 gettimeofday calls. I agree it isn't great, though. And probably better to just abstract (possibly just with #ifdef) the calls for accurate timing, from the calls that actually need the real time. John =:->
Вложения
В списке pgsql-performance по дате отправления: