Re: [PATCH] backend: compare word-at-a-time in bcTruelen
От | Stefan Kaltenbrunner |
---|---|
Тема | Re: [PATCH] backend: compare word-at-a-time in bcTruelen |
Дата | |
Msg-id | 4A38E494.1020303@kaltenbrunner.cc обсуждение исходный текст |
Ответ на | Re: [PATCH] backend: compare word-at-a-time in bcTruelen (Jeremy Kerr <jk@ozlabs.org>) |
Список | pgsql-hackers |
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
В списке pgsql-hackers по дате отправления: