[Home]

Summary:ASTERISK-24974: Astobj2: Allow reference debugging to be enabled/disabled by config.
Reporter:Corey Farrell (coreyfarrell)Labels:
Date Opened:2015-04-17 14:58:05Date Closed:2015-04-28 06:44:09
Priority:MinorRegression?
Status:Closed/CompleteComponents:Core/AstMM
Versions:SVN Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:This patch has rippled out from the original goal of getting better error messages from {{INTERNAL_OBJ}}.  I found that providing only a REF_DEBUG version of __ao2_ref and __ao2_alloc resulted in faster performance, so I've expanded this to all code with REF_DEBUG dual ABI.  REF_DEBUG no longer has an effect on ABI, it is only used to set reference debugging to enabled by default.  Reference debugging can be controlled in asterisk.conf, refdebug=yes|no in the options section.

Test runs of {{/main/astobj2/perf}}:
||Branch||Runtimes (ms)||Average||
|{{master}}|54133, 54045, 53753, 53731, 53692|53870|
|{{patch4}}|53585, 53353, 53216, 53258, 53264|53335|
|{{patch5}}|52455, 52537, 52557, 52663, 52689|52580|

All test runs were done on my Linux Mint 17 workstation, with reference debugging disabled.  I watched TV during each run to ensure I wouldn't do anything to effect system load.  patch4 is the original scope of changes to __ao2_ref and __ao2_alloc, INTERNAL_OBJ and is_ao2_object.  patch5 is the full removal of REF_DEBUG dual ABI.
Comments: