res_pjsip: Cache global config options.
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 23:16:43 +0000 (18:16 -0500)
commitea929d766d4d9d192870760cc4b086d7ddc60fe5
tree7363a17366f91c268e84629e30cbef2e7b7db304
parentd2e03c252d128d43fdbfe5906e238e8e0f90c0ab
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