On Wed, 8 Oct 2003, Neil Conway wrote:

> Interesting (and surprising that the performance differential is that
> large, to me at least). Can you tell if the performance gain comes from
> an improvement in a particular subsystem? (i.e. could you get a profile
> of Sun/gcc and compare it with Sun/sunsoft).
>

Yeah - like I expected it was able to generate much better code for
_bt_checkkeys which was the #1 function in gcc on both sun & linux.

and as you can see, suncc was just able to generate much nicer code. I'd
look at the assembler output but that won't be useful since I am very
unfamiliar with the [ultra]sparc instruction set..


Here's the prof and gprof output for the latest run:
GCC:
  %   cumulative   self              self     total
 time   seconds   seconds    calls  ms/call  ms/call  name
 31.52     19.44    19.44                             internal_mcount
 20.28     31.95    12.51  8199466     0.00     0.00  _bt_checkkeys
  5.61     35.41     3.46  8197422     0.00     0.00  _bt_step
  5.01     38.50     3.09 24738620     0.00     0.00  FunctionCall2
  3.00     40.35     1.85  8194186     0.00     0.00  varchareq
  2.61     41.96     1.61    24309     0.07     0.28  _bt_next
  2.42     43.45     1.49     1003     1.49     1.51  AtEOXact_Buffers
  2.37     44.91     1.46    12642     0.12     0.12  _read
  2.33     46.35     1.44 16517771     0.00     0.00  pg_detoast_datum
  2.08     47.63     1.28  8193186     0.00     0.00  int4lt
  1.35     48.46     0.83  8237204     0.00     0.00  BufferGetBlockNumber
  1.35     49.29     0.83  8193888     0.00     0.00  int4ge
  1.35     50.12     0.83                             _mcount


SunCC -pg -fast.
 %Time Seconds Cumsecs  #Calls   msec/call  Name

  23.2    4.27    4.27108922056      0.0000  _mcount
  20.7    3.82    8.09 8304052      0.0005  _bt_checkkeys
  13.7    2.53   10.6225054788      0.0001  FunctionCall2
   5.1    0.94   11.56   24002      0.0392  _bt_next
   4.4    0.81   12.37 8301867      0.0001  _bt_step
   3.4    0.63   13.00 8298219      0.0001  varchareq
   2.7    0.50   13.5016726855      0.0000  pg_detoast_datum
   2.4    0.45   13.95 8342464      0.0001  BufferGetBlockNumber
   2.4    0.44   14.39 8297941      0.0001  int4ge
   2.2    0.41   14.80    1003      0.409   AtEOXact_Buffers
   2.0    0.37   15.17 4220349      0.0001  lc_collate_is_c
   2.0    0.37   15.54 8297219      0.0000  int4lt
   1.6    0.29   15.83   26537      0.0109  AllocSetContextCreate
   0.9    0.16   15.99    1887      0.085   pglz_decompress
   0.7    0.13   16.12  159966      0.0008  nocachegetattr
   0.7    0.13   16.25 4220349      0.0000  varstr_cmp
   0.6    0.11   16.36  937576      0.0001  MemoryContextAlloc
   0.5    0.09   16.45  150453      0.0006  hash_search





> -Neil
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]
>
>

--
Jeff Trout <[EMAIL PROTECTED]>
http://www.jefftrout.com/
http://www.stuarthamm.net/



---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faqs/FAQ.html

Reply via email to