[asterisk-commits] murf: branch murf/fast-ast r40887 - /team/murf/fast-ast/GOALS

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Wed Aug 23 06:49:50 MST 2006


Author: murf
Date: Wed Aug 23 08:49:50 2006
New Revision: 40887

URL: http://svn.digium.com/view/asterisk?rev=40887&view=rev
Log:
My goals for this (possibly inappropriate, unapproved, and unwanted) effort.


Added:
    team/murf/fast-ast/GOALS   (with props)

Added: team/murf/fast-ast/GOALS
URL: http://svn.digium.com/view/asterisk/team/murf/fast-ast/GOALS?rev=40887&view=auto
==============================================================================
--- team/murf/fast-ast/GOALS (added)
+++ team/murf/fast-ast/GOALS Wed Aug 23 08:49:50 2006
@@ -1,0 +1,18 @@
+Steps to speeding up the Asterisk dialplan engine:
+
+1. A 'formal' parser for ${ } expressions, with a parse-tree representation.
+
+2. See how much of a speedup from  hash-table for func/app names.
+
+3. Make sure the $[] parser builds a tree instead of directly evaluating
+   expressions. Build an eval func. use it in the right places to make this
+   change invisible.
+
+3. use the context/extension/priorities to store ptrs to parse trees instead
+   of text where possible. Might not hurt to provide ptrs to apps as well as the
+   app names, to speed lookups there. If we do this, will linear searches of app
+   names be OK? If apps are de-registered, we can erase ALL ptrs in the contexts
+   structs, or, we can traverse the dialplan and remove ptrs associated with the
+   removed app.
+
+4. Profit.

Propchange: team/murf/fast-ast/GOALS
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: team/murf/fast-ast/GOALS
------------------------------------------------------------------------------
    svn:keywords = Author Id Date Revision

Propchange: team/murf/fast-ast/GOALS
------------------------------------------------------------------------------
    svn:mime-type = text/plain



More information about the asterisk-commits mailing list