Generational memory allocator
authorSimon Riggs <simon@2ndQuadrant.com>
Wed, 22 Nov 2017 18:45:07 +0000 (05:45 +1100)
committerSimon Riggs <simon@2ndQuadrant.com>
Wed, 22 Nov 2017 18:45:07 +0000 (05:45 +1100)
commita4ccc1cef5a04cc054af83bc4582a045d5232cb3
tree897617e76a9777c039257312e2e4edcba1cbe4b7
parent3bae43ca4dc6c3123788044436521f1d33d9f930
Generational memory allocator

Add new style of memory allocator, known as Generational
appropriate for use in cases where memory is allocated
and then freed in roughly oldest first order (FIFO).

Use new allocator for logical decoding’s reorderbuffer
to significantly reduce memory usage and improve performance.

Author: Tomas Vondra
Reviewed-by: Simon Riggs
src/backend/replication/logical/reorderbuffer.c
src/backend/utils/mmgr/Makefile
src/backend/utils/mmgr/README
src/backend/utils/mmgr/generation.c [new file with mode: 0644]
src/include/nodes/memnodes.h
src/include/nodes/nodes.h
src/include/replication/reorderbuffer.h
src/include/utils/memutils.h