Re: [HACKERS] Profile of current backend

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: [HACKERS] Profile of current backend
Дата
Msg-id 199802052011.PAA17974@candle.pha.pa.us
обсуждение исходный текст
Ответ на Profile of current backend  (Mattias Kregert <matti@algonet.se>)
Ответы Re: [HACKERS] Profile of current backend  (Michael Meskes <meskes@topsystem.de>)
Список 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@candle.pha.pa.us

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: [HACKERS] Profile of current backend (fwd)
Следующее
От: Brett McCormick
Дата:
Сообщение: Re: [HACKERS] create function bug?