Jeremy Kerr wrote:
Hi all,
Speaking of which, what about some performance numbers?
OK, benchmarks done:
http://ozlabs.org/~jk/projects/db/data/postgres.bcTruelen/
Summary: small increase in performance (~1-2% on my machine), at about
1.5 standard deviations from the mean. Profiles show a decent drop in
hits within bcTruelen.
However: Sysbench seems to be quite heavy with the fixed-width char
types, so may end up calling bcTruelen more than most workloads. Would
be nice to get some x86 numbers too, but I don't have a suitable machine
here.
This improves my numbers from 46000 queries/s to 52000 queries/s for:
--num-threads=16 --test=oltp --db-ps-mode=auto --pgsql-user=postgres
--test=oltp --oltp-read-only=on --oltp-sum-ranges=0
--oltp-simple-ranges=0 --oltp-order-ranges=10 --oltp-point-selects=0
--oltp-distinct-ranges=0 --oltp-skip-trx=off run
with a profile 16 connections like:
samples % symbol name
1925976 23.7136 bcTruelen
329453 4.0564 AllocSetAlloc
292176 3.5974 slot_deform_tuple
278996 3.4351 index_getnext
165397 2.0365 _bt_checkkeys
155621 1.9161 appendBinaryStringInfo
141295 1.7397 LWLockAcquire
136197 1.6769 internal_putbytes
130474 1.6065 AllocSetFree
121341 1.4940 printtup
116413 1.4333 hash_search_with_hash_value
109573 1.3491 FunctionCall2
95101 1.1709 heap_form_minimal_tuple
91475 1.1263 enlargeStringInfo
90841 1.1185 heap_fill_tuple
89926 1.1072 ExecProcNode
86112 1.0603 varstr_cmp
and after the patch applied:
samples % symbol name
2225769 7.8378 bcTruelen
1335050 4.7013 index_getnext
1296272 4.5647 AllocSetAlloc
1132026 3.9863 slot_deform_tuple
702219 2.4728 _bt_checkkeys
640675 2.2561 appendBinaryStringInfo
611783 2.1543 LWLockAcquire
599402 2.1107 AllocSetFree
590557 2.0796 internal_putbytes
525526 1.8506 printtup
476077 1.6765 hash_search_with_hash_value
459660 1.6186 FunctionCall2
423569 1.4916 ExecProcNode
391476 1.3785 heap_form_minimal_tuple
385689 1.3582 heap_fill_tuple
383231 1.3495 enlargeStringInfo
368390 1.2973 comparetup_heap
363481 1.2800 varstr_cmp
360261 1.2686 ExecProject
356696 1.2561 pq_putmessage
354193 1.2473 MemoryContextAlloc
341262 1.2017 LWLockRelease
337970 1.1901 pq_begintypsend
321069 1.1306 pfree
310806 1.0945 tuplesort_gettuple_common
Stefan
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers