]> granicus.if.org Git - postgresql/commit
Remove unnecessary memcpy when reading WAL record fitting on page
authorMichael Paquier <michael@paquier.xyz>
Mon, 19 Nov 2018 01:25:48 +0000 (10:25 +0900)
committerMichael Paquier <michael@paquier.xyz>
Mon, 19 Nov 2018 01:25:48 +0000 (10:25 +0900)
commit285bd0ac4a7c0538d544c40aa725682e11cb71a9
tree3571baa7707d6f75edd792b733a7fea0aec158c8
parent79376e07128fbf3c92f4e1fb457be435afa2e6a6
Remove unnecessary memcpy when reading WAL record fitting on page

When reading a WAL record, its contents are copied into an intermediate
buffer.  However, doing so is not necessary if the record fits fully
into the current page, saving one memcpy for each such record.  The
allocation handling of the intermediate buffer is also now done only
when a record crosses a page boundary, shaving some extra cycles when
reading a WAL record.

Author: Andrey Lepikhov
Reviewed-by: Kyotaro Horiguchi, Heikki Linnakangas
Discussion: https://postgr.es/m/c2ea54dd-a1d3-80eb-ddbf-7e6f258e615e@postgrespro.ru
src/backend/access/transam/xlog.c
src/backend/access/transam/xlogreader.c