Daniel Swarbrick wrote: > bkml wrote: > >> First, there is no function call to check the application name for a >> match in every turn of the loop. Context switches are rather expensive >> and we avoid them altogether by not calling strcasecmp() anymore. >> Secondly, instead of one test per character in the application name, we >> now have only one single test per application entry to test the hash code. >> > > That sounds great, but I have a couple of questions: > > 1) Will this extend to console commands (ie, command-line completion) or > dialplan instructions only? For command-line completion, you would > obviously still need the unhashed version of the command to compare and > predict possible completions, since comparing a partial command will > have no relation to the full command's hash. > The cli needs to be pulled out anyway. > 2) What is the hash algorithm being used, and is a 32 bit hash too small > (ie, collision-risky)? > Does it make sense to use gperf or something similar? > That was three questions really... > > On the issue of case sensitivity, the original Asterisk apps tend to use > mixed case in documentation, ie "GotoIf". My preference would either be > complete case insensitivity, or all lower-case. Case-sensitive, > mixed-case is a stupid idea, that is bound to catch people out. > I would suggest converting case in the config file parser. That's one-time, and a small price to pay to remove strcasecmp.
---Nathan _______________________________________________ Openpbx-dev mailing list [email protected] http://lists.openpbx.org/mailman/listinfo/openpbx-dev
