From: | "Jignesh Shah" <jigneshk(at)hotmail(dot)com> |
---|---|
To: | tgl(at)sss(dot)pgh(dot)pa(dot)us |
Cc: | pgsql-performance(at)postgresql(dot)org |
Subject: | Re: MemoryContextSwitchTo during table scan? |
Date: | 2005-08-22 22:37:21 |
Message-ID: | BAY101-F22C68A84110DBB2CA82199D0B60@phx.gbl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
Hi Tom,
Like I mentioned I am using DTrace on Solaris 10 x64 and not gprof.
DTrace is not based on sampling but actual entry/exit point. Ofcourse my 10
second profile is just a sample that I can assure you is representative of
the query since it is a very simple query that does simple table scan. (I am
taken profiles at different times of the queries all giving similar outputs)
In case of DTrace I am actually measuring "wall clock" for leaf functions.
For more information on DTrace please refer to:
http://docs.sun.com/app/docs/doc/817-6223/6mlkidlf1?a=view
Regards,
Jignesh
----Original Message Follows----
From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Jignesh Shah" <jigneshk(at)hotmail(dot)com>
CC: pgsql-performance(at)postgresql(dot)org
Subject: Re: [PERFORM] MemoryContextSwitchTo during table scan?
Date: Mon, 22 Aug 2005 11:41:40 -0400
"Jignesh Shah" <jigneshk(at)hotmail(dot)com> writes:
> Running a script (available on my blog) I find the following top 5
functions
> where it spends most time during a 10 second run of the script
It's pretty risky to draw conclusions from only 10 seconds' worth of
gprof data --- that's only 1000 samples total at the common sampling
rate of 100/sec. If there's one function eating 90% of the runtime,
you'll find out, but you don't have enough data to believe that you
know what is happening with resolution of a percent or so. I generally
try to accumulate several minutes worth of CPU time in a gprof run.
> MemoryContextSwitchTo and LockBuffer itself takes 15% of the total time
of
> the query. I was expecting "read" to be the slowest part (biggest
component)
> but it was way down in the 0.4% level.
You do know that gprof counts only CPU time, and only user-space CPU
time at that? read() isn't going to show up at all. It's fairly likely
that your test case is I/O bound and that worrying about CPU efficiency
for it is a waste of time anyway.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Neil Conway | 2005-08-22 22:48:18 | Re: MemoryContextSwitchTo during table scan? |
Previous Message | John Mendenhall | 2005-08-22 21:07:51 | Re: complex query performance assistance request |