From 5d67cc7f4c176ea6ab4d2538443d5fe264152861 Mon Sep 17 00:00:00 2001 From: Sverker Eriksson Date: Wed, 19 Jun 2013 18:34:56 +0200 Subject: erts: Add new allocator strategy aoffcbf with better performance than aoffcaobf as we don't have to rearrange the search tree when there are blocks of equal size. --- erts/doc/src/erts_alloc.xml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'erts/doc') diff --git a/erts/doc/src/erts_alloc.xml b/erts/doc/src/erts_alloc.xml index 2ffb55c6ab..5e008493b9 100644 --- a/erts/doc/src/erts_alloc.xml +++ b/erts/doc/src/erts_alloc.xml @@ -170,6 +170,15 @@ used. The time complexity is proportional to log N, where N is the number of free blocks.

+ Address order first fit carrier best fit + +

Strategy: Find the carrier with the lowest address that + can satisfy the requested block size, then find a block within + that carrier using the "best fit" strategy.

+

Implementation: Balanced binary search trees are + used. The time complexity is proportional to log N, where + N is the number of free blocks.

+
Address order first fit carrier address order best fit

Strategy: Find the carrier with the lowest address that @@ -330,7 +339,7 @@ fetched it will function as an ordinary carrier. This feature has special requirements on the allocation strategy used. Currently - only the aoff and the aoffcaobf strategies support + only the strategies aoff, aoffcbf and aoffcaobf support abandoned carriers. This feature also requires multiple thread specific instances to be enabled. When enabling this feature, multiple thread specific @@ -340,10 +349,11 @@ allocators based on the alloc_util framework with the exception of temp_alloc (which would be pointless). - as bf|aobf|aoff|aoffcaobf|gf|af]]> + as bf|aobf|aoff|aoffcbf|aoffcaobf|gf|af]]> Allocation strategy. Valid strategies are bf (best fit), aobf (address order best fit), aoff (address order first fit), + aoffcbf (address order first fit carrier best fit), aoffcaobf (address order first fit carrier address order best fit), gf (good fit), and af (a fit). See the description of allocation strategies in "the alloc_util framework" section. -- cgit v1.2.3