"Heikki Linnakangas" <heikki@enterprisedb.com> writes:
> The oprofile output is pretty damning:
> samples % symbol name
> 42148 99.7468 TransactionIdIsCurrentTransactionId
Oh, I have no doubt that that could eat a lot of cycles inside the
originating transaction ;-). I just misread Craig's complaint as
being about the cost of the first table scan *after* that transaction.
Getting rid of the linked-list representation would be a win in a couple
of ways --- we'd not need the bogus "list of XIDs" support in pg_list.h,
and xactGetCommittedChildren would go away. OTOH AtSubCommit_childXids
would get more expensive.
regards, tom lane