From: "J." <mailing-lists@xs4all.nl>
To: linux-c-programming@vger.kernel.org
Subject: Re: obstack_alloc & _obstack_newchunk
Date: Thu, 24 Feb 2005 10:04:56 +0100 (CET) [thread overview]
Message-ID: <Pine.LNX.4.21.0502240946390.558-100000@hestia> (raw)
In-Reply-To: <d9def9db05022314495977f841@mail.gmail.com>
On Wed, 23 Feb 2005, Rechberger Markus wrote:
> hmm what's the advantage of using the obstack_* functions? isn't
> malloc already enough? never saw it in an application actually so I'm
> just curious about it..
>
> thanks
> Markus
Actually I was asking myself the exact same thing after I read that the
GCC compiler uses this memory allocation strategy. If you google for
obstack you will find a lot of programs using the obstack libs.
From what I understand upon till now, and please correct me if I am wrong:
obstack is a data stack that is used to create pooled memory allocation.
Memory allocation and deallocation, is said to be much faster because it's
done a pool at a time. Error-handling pools can be preallocated so that
programs can make good recovery's if no more regular memory is available.
The lifespan of a memory pool can be crontrolled like the way the apache
webserver does e.g. `Apache Portable Runtime'.
For me personally I don't think I will use this strategy's because I
simply don't need it, but it is still interesting to look into it
because it requires me to actually think about how memory allocation works
and what the options are.
J.
> > On Wed, 23 Feb 2005, Mariano Moreyra wrote:
> > > Hi J.
> > >
> > > You need to init your obstack before using it
> > > Also, you need to declare this before calling obstack_init()
> > >
> > > #define obstack_chunk_alloc malloc
> > > #define obstack_chunk_free free
> > >
> > > So, your code would look like this:
> >
> > <CUT>
> > ...
> > </CUT>
> >
> > Thank you for the complete answer.. !!
> >
> > Cheers, J.
> > -
--
http://www.rdrs.net/
next prev parent reply other threads:[~2005-02-24 9:04 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <NHBBKOOOHBAAJLGEOFLHEENEPJAC.moremari@aca.org.ar>
2005-02-23 13:37 ` obstack_alloc & _obstack_newchunk J.
2005-02-23 22:49 ` Rechberger Markus
2005-02-24 9:04 ` J. [this message]
2005-02-23 12:45 J.
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Pine.LNX.4.21.0502240946390.558-100000@hestia \
--to=mailing-lists@xs4all.nl \
--cc=linux-c-programming@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).