Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 1 Dec 2013 11:55:12 +0100
From:      Daniel Nebdal <dnebdal@gmail.com>
To:        dt71@gmx.com
Cc:        jb <jb.1234abcd@gmail.com>, Adrian Chadd <adrian@freebsd.org>, freebsd-current <freebsd-current@freebsd.org>, Luigi Rizzo <rizzo@iet.unipi.it>
Subject:   Re: [RFC] how to get the size of a malloc(9) block ?
Message-ID:  <CA%2Bt49PJrbbtyaGX2KQm7L0fhzkhU9Cmxi3sehm79NyAChMeBjA@mail.gmail.com>
In-Reply-To: <529AA73A.9@gmx.com>
References:  <CA%2BhQ2%2BgK1pc_aS1LEKp29Bi=MHFtJCkw2uOrib_9wQ-7AziH=w@mail.gmail.com> <loom.20131130T002152-608@post.gmane.org> <CA%2BhQ2%2Bj0cYW0dfhEtMGRXWhXhS=VF_N_ZB=JmcqRUofFKWXFiQ@mail.gmail.com> <CAJ-Vmon2dy94jCUwrBjObrxahmaTyqYZJZo4Lren2Km_vX3_OA@mail.gmail.com> <CA%2BhQ2%2Bi7woEM9x7Ymo%2BD4FbG2rn0eRYnX=7mUTrPjDqj-pme7A@mail.gmail.com> <20131201022002.GE55638@funkthat.com> <529AA73A.9@gmx.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Dec 1, 2013 at 4:04 AM, <dt71@gmx.com> wrote:

> John-Mark Gurney wrote, On 12/01/2013 03:20:
>
>  Either it happens rarely, and always doing a realloc won't hurt
>> performance, or it happens often, and then you should be using a larger
>> buffer in the first place..
>>
>
> What if a size-elastic implementation of a dynamic data structure would be
> able to adjust to the malloc implementation, such as agreeing to allocate
> regions of size (2^k - 8)? Much like the use of getpagesize() (yes, I know
> it's not part of a technical standard).
>
>

That could alternatively be solved by having an "if I ask for N bytes right
now, how large would the block be" - API that doesn't promise too much.
Call it something like "malloc_suggest_size(size_t minsize) ", and make the
description something like ...  "return the largest number of bytes that
would not allocate a larger block of memory than the provided minsize, in
the current memory situation", plus some veiled threats about not using
this value to do anything fancy with pointers to already-allocated memory.

-- 
Daniel Nebdal



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2Bt49PJrbbtyaGX2KQm7L0fhzkhU9Cmxi3sehm79NyAChMeBjA>