Re: pgbench cpu overhead (was Re: lazy vxid locks, v1) - Mailing list pgsql-hackers

From Jeff Janes
Subject Re: pgbench cpu overhead (was Re: lazy vxid locks, v1)
Date
Msg-id BANLkTikCcLyKyMPMhksMJnH=x0VV60hGfw@mail.gmail.com
Whole thread Raw
In response to Re: pgbench cpu overhead (was Re: lazy vxid locks, v1)  (Alvaro Herrera <alvherre@commandprompt.com>)
List pgsql-hackers
On Mon, Jun 13, 2011 at 9:09 PM, Alvaro Herrera
<alvherre@commandprompt.com> wrote:

> I noticed that pgbench's doCustom (the function highest in the profile
> posted) returns doing nothing if the connection is supposed to be
> "sleeping"; seems an open door for busy waiting.  I didn't check the
> rest of the code to see if there's something avoiding that condition.

Yes, there is a "select" in threadRun that avoids that.  Also, I don't
think anyone would but in a "sleep" in this particular type of pgbench
run.

> I
> also noticed that it seems to be very liberal about calling
> INSTR_TIME_SET_CURRENT in the same function which perhaps could be
> optimizing by calling it a single time at entry and reusing the value,
> but I guess that would show up in the profile as a kernel call so it's
> maybe not a problem.

I think that only gets called when you specifically asked for
latencies or for logging, or when making new connection (which should
be rare)

Cheers,

Jeff


pgsql-hackers by date:

Previous
From: Magnus Hagander
Date:
Subject: Re: perltidy
Next
From: Dimitri Fontaine
Date:
Subject: Re: Detailed documentation for external calls (threading, shared resources etc)