Re: [HACKERS] Profile of current backend

From: Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
To: matti(at)algonet(dot)se (Mattias Kregert)
Cc: meskes(at)topsystem(dot)de, pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: [HACKERS] Profile of current backend
Date: 1998-02-05 20:11:14
Message-ID: 199802052011.PAA17974@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Interesting. Nothing is jumping out at me. Looks like we could try to
clean up heapgettup() to see if there is anything in there that can be
speeded up.

None of the calls looks like it should be inlined. Do you see any that
look good for inlining?

>
> Meskes, Michael wrote:
> >
> > I take it some of you have already run the backend against a profiler.
> > Could anyone please tell me which functions need works most?
>
> SYSTEM: Linux 2.0.29, gcc 2.7.2
> -------------------------------
> [make distclean]
> [CVSup'ed current source 1998-02-05]
> [./configure]
> [make]
> [CUSTOM_LDFLAGS not settable in Makefile.custom ...]
> [... setting LDFLAGS=-pg ins Makefile.global]
>
> --> fmgr.c: In function `fmgr_pl':
> --> fmgr.c:46: `fmgr_pl_finfo' undeclared (first use this function)
> [fix] cp backend/utils/fmgr.h backend/utils/fmgr/fmgr.h
>
> [make install]
> [Run initdb]
> [Regression tests]
> strings .. failed [ok]
> lseg .. failed [new operator <= on lseg]
> horology .. failed [daylight savings error?]
> triggers .. failed
> select_views .. failed
>
>
> PROFILE OF REGRESSION TEST:
> ---------------------------
> time seconds seconds calls ms/call ms/call name
> 35.16 7.97 7.97 mcount (profiler overhead)
> 5.91 9.31 1.34 9924 0.14 0.20 heapgettup
> 4.54 10.34 1.03 234597 0.00 0.01 hash_search
> 2.12 10.82 0.48 151781 0.00 0.00 SpinAcquire
> 2.03 11.28 0.46 46635 0.01 0.02 SearchSysCache
> 1.63 11.65 0.37 171345 0.00 0.00 tag_hash
> 1.46 11.98 0.33 20511 0.02 0.02 yylex
> 1.41 12.30 0.32 31311 0.01 0.03 LockAcquire
> 1.28 12.59 0.29 1522 0.19 0.61 yyparse
> 1.24 12.87 0.28 41176 0.01 0.01 fmgr_isbuiltin
> 1.01 13.10 0.23 201572 0.00 0.00 AllocSetAlloc
> 0.84 13.29 0.19 186214 0.00 0.00 OrderedElemPop
> 0.75 13.46 0.17 42896 0.00 0.00 nocachegetattr
> 0.71 13.62 0.16 29869 0.01 0.04 LockRelease
> 0.66 13.77 0.15 151781 0.00 0.00 SpinRelease
> 0.66 13.92 0.15 88766 0.00 0.01 newNode
> 0.66 14.07 0.15 52248 0.00 0.00 _bt_compare
> ... around 1850 functions follows (0.66 - 0.0%)
>
> heapgettup (called by, calling):
> --------------------------------
> index % time self children called name
> 0.01 0.01 96/9924 heap_markpos [448]
> 0.21 0.11 1566/9924 heap_restrpos [102]
> 1.12 0.58 8262/9924 heap_getnext [20]
> [14] 13.8 1.34 0.69 9924 heapgettup [14]
> 0.04 0.14 9924/9924 RelationGetBufferWithBuffer [148]
> 0.03 0.15 5642/5702 ReleaseAndReadBuffer [145]
> 0.10 0.00 26276/42896 nocachegetattr [158]
> 0.01 0.08 7111/9607 HeapTupleSatisfiesVisibility [185]
> 0.04 0.00 117785/126582 char16eq [339]
> 0.02 0.00 111941/111994 int4eq [427]
> 0.02 0.00 109647/112329 nameeq [426]
> 0.00 0.01 1770/31585 ReleaseBuffer [134]
> 0.01 0.00 14000/50173 PageGetMaxOffsetNumber [341]
> 0.01 0.00 5185/5433 chareq [537]
> 0.01 0.00 15566/90147 BufferGetBlock [311]
> 0.01 0.00 17336/240911 BufferIsValid [207]
> 0.00 0.00 4/1973 int2eq [575]
> 0.00 0.00 7412/7412 nextpage [1186]
> 0.00 0.00 951/1358 SetBufferCommitInfoNeedsSave [1253]
> --------------------------------
>
> The *complete* gprof output is here:
> ftp://postgresql.org/pub/incoming/regression-profile-980205.gz 156k
>
> /* m */
>
>

--
Bruce Momjian
maillist(at)candle(dot)pha(dot)pa(dot)us

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 1998-02-05 20:26:22 Re: [HACKERS] Profile of current backend (fwd)
Previous Message Mattias Kregert 1998-02-05 19:57:21 Profile of current backend