Thursday, December 21, 2006

Asterisk 1.4 gives you frame caching

Asterisk Blog tells up about new feature in Asterisk 1.4 that is called "frame caching". Ii seems that this feature enhances the performance of Asterisk.

"One of the performance improvements for Asterisk 1.4 that I worked on is something that I call "frame caching". The idea here is to optimize the situations where Asterisk has to dynamically allocate and free memory to hold media frames as they pass through the system. This is something that can happen hundreds of times per second for a single call! Doing that many calls to malloc() and free() per second is expensive. So, after implementing a thread local storage API, I then created a thread-local list of unused frame structures. This means that the same allocation can be used over and over.

Here is the results of some of my testing of this code.

READING PROFILING RESULTS

Scale: When this value is non-zero, the number of processor ticks will be divided by this number. This is useful when profiling code that takes more significant amounts of time to run.

Events: This is the number of times the counter was started and stopped.

Value: This is the total amount of processor ticks accumulated while this counter has been running.

Average: This is average number of ticks per event.

Name: This is a name used to describe each profile set.

Asterisk article gives you the results of two examples. Follow the link to read about examples and more.

Links;
Asterisk blog frame caching

0 comments:

Blog Widget by LinkWithin