On 13-01-21 12:15 PM, Andres Freund wrote:
On 2013-01-21 11:59:18 -0500, Steve Singer wrote:
On 13-01-21 02:28 AM, Andres Freund wrote:
I haven't removed it from the patch afaik, so it would be great to get a
profile here! Its "only" for xlogdump, but that tool helped me immensely
and I don't want to maintain it independently...
Here is the output from tprof
Here is the baseline:
Any chance to do the test ontop of HEAD? The elog stuff has gone in only
afterwards and might actually effect this enough to be relevant.
HEAD(:fb197290)
Average: 28877
.AllocSetAlloc 1442 1.90 aset.c 3a938 4b0
.base_yyparse 1220 1.61 gram.c fdbc0 168ec
.MemoryContextAlloc 485 0.64 mcxt.c 3a154 e0
.core_yylex 407 0.54 gram.c fab30 1c90
.AllocSetFree 320 0.42 aset.c 3b318 1b0
.MemoryContextAllocZero 316 0.42 mcxt.c 3a364 f0
.grouping_planner 271 0.36 planner.c 2b0ce8 1d10
.strncpy 256 0.34 strncpy.s b8ca0 130
.expression_tree_walker 222 0.29 nodeFuncs.c 4f734 750
._SPI_execute_plan 221 0.29 spi.c 2fb230 840
.SearchCatCache 182 0.24 catcache.c 7d870 550
.GetSnapshotData 161 0.21 procarray.c 68acc 460
.fmgr_info_cxt_security 155 0.20 fmgr.c 3e130 850
.pfree 152 0.20 mcxt.c 39d84 70
.expression_tree_mutator 151 0.20 nodeFuncs.c 51c84 1170
.check_stack_depth 142 0.19 postgres.c 5523c 100
.text 126 0.17 parse_collate.c 233d90 1
.transformStmt 125 0.16 analyze.c 289e88 12c0
.ScanKeywordLookup 123 0.16 kwlookup.c f7ab4 154
.new_list 120 0.16 list.c 40f74 b0
.subquery_planner 115 0.15 planner.c 2b29f8 dc0
.GetCachedPlan 115 0.15 plancache.c cdab0 310
.ExecInitExpr 114 0.15 execQual.c 17e690 15f0
.set_plan_refs 113 0.15 setrefs.c 252630 cb0
.standard_ExecutorStart 110 0.14 execMain.c 1d9264 940
.heap_form_tuple 107 0.14 heaptuple.c 177c84 2f0
.query_tree_walker 105 0.14 nodeFuncs.c 4f474 210
HEAD + patch:
Average: 29035
Total Ticks For All Processes (./postgres_perftest) = 15044
Subroutine Ticks % Source Address Bytes
========== ===== ====== ====== ======= =====
.AllocSetAlloc 1422 1.64 aset.c 3a938 4b0
.base_yyparse 1201 1.38 gram.c fd1e8 167f0
.palloc 470 0.54 mcxt.c 39e04 d0
.core_yylex 364 0.42 gram.c fa198 1c60
.MemoryContextAllocZero 282 0.33 mcxt.c 3a324 f0
._SPI_execute_plan 250 0.29 spi.c 2f8c18 840
.AllocSetFree 244 0.28 aset.c 3b318 1b0
.strncpy 234 0.27 strncpy.s b86a0 130
.expression_tree_walker 229 0.26 nodeFuncs.c 4f698 750
.grouping_planner 176 0.20 planner.c 2aea84 1d30
.SearchCatCache 170 0.20 catcache.c 7d638 550
.GetSnapshotData 168 0.19 procarray.c 68904 460
.assign_collations_walker 155 0.18 parse_collate.c 231f4c 7e0
.subquery_planner 141 0.16 planner.c 2b07b4 dc0
.fmgr_info_cxt_security 141 0.16 fmgr.c 3e110 850
.check_stack_depth 140 0.16 postgres.c 550a0 100
.ExecInitExpr 138 0.16 execQual.c 17d2f8 15e0
.pfree 137 0.16 mcxt.c 39b44 70
.transformStmt 132 0.15 analyze.c 287dec 12c0
.new_list 128 0.15 list.c 40f44 90
.expression_tree_mutator 125 0.14 nodeFuncs.c 51bd8 1080
.preprocess_expression 118 0.14 planner.c 2adf54 1a0
.strcmp 118 0.14 noname 1e44 158
.standard_ExecutorStart 115 0.13 execMain.c 1d77c0 940
.MemoryContextAlloc 111 0.13 mcxt.c 3a074 e0
.set_plan_refs 109 0.13 setrefs.c 2506c4 ca0
Otherwise I have to say I am a bit confused by the mighty difference in
costs attributed to AllocSetAlloc given the amount of calls should be
exactly the same and the number of "trampoline" function calls should
also stay the same.
Greetings,
Andres Freund
--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers