]> git.ipfire.org Git - thirdparty/asterisk.git/commit
res_pjsip: Cache global config options. 79/3479/2
authorRichard Mudgett <rmudgett@digium.com>
Fri, 5 Aug 2016 01:11:29 +0000 (20:11 -0500)
committerRichard Mudgett <rmudgett@digium.com>
Thu, 25 Aug 2016 22:54:03 +0000 (17:54 -0500)
commit5cd583d7a2e97b49ea48cac8fc5874c18952d2ea
treefc09a8fcdf433d781d345cab87aee617d87e3cc7
parent4e5b930d3fa11012513a1ba37d2cf7c0068b6407
res_pjsip: Cache global config options.

We may check a global config option hundreds of times a second or more.
Asking sorcery for the global configuration from the config files backend
involves several allocations and container traversals.  Using realtime
without a memory cache is a lot worse because you have to lookup in the
realtime database each time to reconstitute the sorcery object.  With a
memory cache for realtime, there is about the same amount of overhead as
for config files.  Either way, it is still fairly expensive to access the
sorcery object that much.

* Cache the global config options so we can access them faster.  You must
now always perform a res_pjsip reload to change the global options.

Change-Id: Ice16c7a4cbca4614da344aaea21a072b86263ef7
CHANGES
res/res_pjsip/config_global.c