[asterisk-dev] chan_sip.c - struct sip_pvt is very large...
Johansson Olle E
olle at voop.com
Mon Nov 13 05:09:35 MST 2006
12 nov 2006 kl. 23.36 skrev Russell Bryant:
> Luigi Rizzo wrote:
>> but i was asking something different,
>> i.e. does anyone see any odd side effects in allocating
>> the initreq separately ?
>
> The only thing I can think of is that you take the performance hit
> of an equivalent call to malloc() to allocate it separately.
> However, we already take the cost of the extra memory allocation
> for memory savings in sip_pvt for stringfields. Also, as you
> noted, you get the benefit of saving time on initializing the
> structure when it is allocated.
>
> To improve this specific situation, we could implement a cache of
> these structures as I did for ast_frame and iax_frame structures.
> For each of those structures, there is a per-thread cache of unused
> structs so that they can be reused without calling malloc/free so
> frequently. I used your TSC profiling tool to measure the benefits
> and measured up to a 60% performance improvement.
The Green Asterisk - we reuse memory allocations! Propably more
enviornmentally friendly, less CPU exhaust fumes...
/O ;-)
More information about the asterisk-dev
mailing list