[asterisk-bugs] [JIRA] (ASTERISK-25040) pbx: Improve performance of reloads by making hint destruction more performant

Matt Jordan (JIRA) noreply at issues.asterisk.org
Sun Jul 26 11:46:37 CDT 2015


     [ https://issues.asterisk.org/jira/browse/ASTERISK-25040?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Matt Jordan updated ASTERISK-25040:
-----------------------------------

    Target Release Version/s: 11.19.0

> pbx: Improve performance of reloads by making hint destruction more performant
> ------------------------------------------------------------------------------
>
>                 Key: ASTERISK-25040
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-25040
>             Project: Asterisk
>          Issue Type: Improvement
>      Security Level: None
>          Components: Core/PBX
>            Reporter: Matt Jordan
>      Target Release: 11.18.0, 11.19.0, 13.4.0
>
>         Attachments: ASTERISK-25040-master.diff
>
>
> The PBX core maintains two hash tables for hints: a container of the actual hints ({{hints}}), along with a container of devices that are watching that hint ({{hintdevices}}). When a dialplan reload occurs, each hint in the hints container is destroyed; this requires a lookup in the container of devices to find the device => hint mapping object. In the current code, this performs an {{ao2_callback}}, iterating over each of the device to hint objects in the {{hintdevices}} container. For a large number of hints, this is extremely
> expensive: dialplan reloads with 20000 hints could take several minutes in just this phase.
> This process could be made more efficient by storing the key of the device (its name) with the hint. This would prevent an expensive {{ao2_callback}}.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list