Matthew Jordan
|
c4bbf49271
Remove many deprecated modules
|
10 jaren geleden |
Kinsey Moore
|
43b85a2bbe
Allow Asterisk to compile under GCC 4.10
|
10 jaren geleden |
Corey Farrell
|
93163bcfdb
Remove extra defines of AST_PBX_MAX_STACK.
|
10 jaren geleden |
Kinsey Moore
|
882ec55b31
Clean up and ensure proper usage of alloca()
|
12 jaren geleden |
Kevin P. Fleming
|
53e80b252d
Multiple revisions 369001-369002
|
12 jaren geleden |
Richard Mudgett
|
10885d9975
Coverity Report: Fix issues for error type REVERSE_INULL (core modules)
|
12 jaren geleden |
Kinsey Moore
|
ec3130acff
Resolve FORWARD_NULL static analysis warnings
|
12 jaren geleden |
Tilghman Lesher
|
d70e7642f0
Enable macros in 1.8 to find the next highest "h" extension in a context, like in 1.4.
|
12 jaren geleden |
Tilghman Lesher
|
9cd898dc10
Merged revisions 299449 via svnmerge from
|
14 jaren geleden |
Tilghman Lesher
|
9dce6ebd4f
Merged revisions 290255 via svnmerge from
|
14 jaren geleden |
Jeff Peeler
|
5cddbbce02
Merged revisions 271552 via svnmerge from
|
14 jaren geleden |
Jeff Peeler
|
3fcb5f952b
Merged revisions 271399 via svnmerge from
|
14 jaren geleden |
Leif Madsen
|
13a15d3dd7
Revert previous WARNING message removal.
|
14 jaren geleden |
Leif Madsen
|
e2ba26dad1
Remove unnecessary WARNING message in ael/pval.c
|
14 jaren geleden |
Tilghman Lesher
|
751a758bbb
When we call a gosub routine, the variables should be scoped to avoid contaminating the caller.
|
15 jaren geleden |
Tilghman Lesher
|
ce99465a3b
AST-2009-005
|
15 jaren geleden |
Steve Murphy
|
8355266fd5
Merged revisions 168745 via svnmerge from
|
16 jaren geleden |
Steve Murphy
|
d149e297d3
Merged revisions 162013 via svnmerge from
|
16 jaren geleden |
Sean Bright
|
19b4a8b602
Fix one case where the application argument was not converted from a pipe to
|
16 jaren geleden |
Steve Murphy
|
a6fc62417f
In these changes, I have added some explanation
|
16 jaren geleden |
Steve Murphy
|
8f971f7f6c
Merged revisions 136726 via svnmerge from
|
16 jaren geleden |
Steve Murphy
|
3dbcfd098b
Merged revisions 131242 via svnmerge from
|
16 jaren geleden |
Steve Murphy
|
1112e0ea34
Merged revisions 119929 via svnmerge from
|
16 jaren geleden |
Steve Murphy
|
73c04b92cf
Merged revisions 111341 via svnmerge from
|
16 jaren geleden |
Steve Murphy
|
92e3f5e8f0
(closes issue #6002)
|
16 jaren geleden |
Luigi Rizzo
|
c3b537494f
shuffle a little bit the content of header files to reduce dependencies.
|
17 jaren geleden |
Steve Murphy
|
63e27e79fb
This is the perhaps the biggest, boldest, most daring change I've ever committed to trunk. Forgive me in advance any disruption this may cause, and please, report any problems via the bugtracker. The upside is that this can speed up large dialplans by 20 times (or more). Context, extension, and priority matching are all fairly constant-time searches. I introduce here my hashtables (hashtabs), and a regression for them. I would have used the ast_obj2 tables, but mine are resizeable, and don't need the object destruction capability. The hashtab stuff is well tested and stable. I introduce a data structure, a trie, for extension pattern matching, in which knowledge of all patterns is accumulated, and all matches can be found via a single traversal of the tree. This is per-context. The trie is formed on the first lookup attempt, and stored in the context for future lookups. Destruction routines are in place for hashtabs and the pattern match trie. You can see the contents of the pattern match trie by using the 'dialplan show' cli command when 'core set debug' has been done to put it in debug mode. The pattern tree traversal only traverses those parts of the tree that are interesting. It uses a scoreboard sort of approach to find the best match. The speed of the traversal is more a function of the length of the pattern than the number of patterns in the tree. The tree also contains the CID matching patterns. See the source code comments for details on how everything works. I believe the approach general enough that any issues that might come up involving fine points in the pattern matching algorithm, can be solved by just tweaking things. We shall see. The current pattern matcher is fairly involved, and replicating every nuance of it is difficult. If you find and report problems, I will try to resolve than as quickly as I can. The trie and hashtabs are added to the existing context and exten structs, and none of the old machinery has been removed for the sake of the multitude of functions that use them. In the future, we can (maybe) weed out the linked lists and save some space.
|
17 jaren geleden |
Steve Murphy
|
38f510abd2
This commits the performance mods that give the priority processing engine in the pbx, a 25-30% speed boost. The two updates used, are, first, to merge the ast_exists_extension() and the ast_spawn_extension() where they are called sequentially in a loop in the code, into a slightly upgraded version of ast_spawn_extension(), with a few extra args; and, second, I modified the substitute_variables_helper_full, so it zeroes out the byte after the evaluated string instead of demanding you pre-zero the buffer; I also went thru the code and removed the code that zeroed this buffer before every call to the substitute_variables_helper_full. The first fix provides about a 9% speedup, and the second the rest. These figures come from the 'PIPS' benchmark I describe in blogs, conf. reports, etc.
|
17 jaren geleden |
Steve Murphy
|
9b6a272101
Merged revisions 87775 via svnmerge from
|
17 jaren geleden |
Steve Murphy
|
af37587208
Merged revisions 87168 via svnmerge from
|
17 jaren geleden |