[SR-Dev] [Kamailio-Devel] static buffers
andrei at iptel.org
Thu Nov 27 17:59:01 CET 2008
On Nov 27, 2008 at 18:27, Daniel-Constantin Mierla <miconda at gmail.com> wrote:
> On 11/27/08 17:51, Andrei Pelinescu-Onciul wrote:
> >On Nov 27, 2008 at 16:22, Henning Westerholt
> ><henning.westerholt at 1und1.de> wrote:
> >>On Thursday 27 November 2008, Daniel-Constantin Mierla wrote:
> >>>There seem to be many places where static buffers are used for building
> >>>strings. It is clear they are used just for usage inside some functions,
> >>>with no need to keep the value for usage somewhere else.
> >>>Would defining a global static buffer to be used for such cases make
> >>>sense? The access to the pointer and size can be given via functions.
> >>>There could be couple of such buffers to be used in the cases one
> >>>function need concurrent access to more than one ... opinions? It will
> >>>reduce memory space reserved and used...
> >>Hi Daniel,
> >>what about getting rid of this static buffers completely? If we want to
> >>go multi-threaded sometimes,
> he, he ... let's look closer in the future ... and from management
> perspective looks easier if they are collected in one place.
> >> we need to lock every access. And i doubt it really
> >>makes a difference from the performance POV nowadays. The only issue i
> >>could think of is eventual memory fragementation..
> >We could use buffers on the stack as much as possible (we don't need to
> >pkg_malloc all the buffers).
> yes, but is it advisable to do it with big buffers ... ?
It depends, but in general yes, unless you have something very big.
A few k shouldn't be any problem,
The performance overhead is only 1 cycle when entering the function,
when using the stack (sp-=sizeof(buffer)) and from the cache point of
view there is no difference since you write to it anyway.
More information about the sr-dev