[Mono-devel-list] First CIL Regex performance result

Eric Durand Tremblay eric.durand-tremblay.1 at ulaval.ca
Fri Mar 5 12:57:27 EST 2004


Hello all

Thank you for the hint.

Varga Zoltan a écrit :

>                                                   Hi,
>
>   I think the main problem here is the Checkpoint and Backtrace
>functions in CILCompiler.cs:
>
>
>This function is called approx 6 million times during the
>regex test you
>  
>
This explain a lot but there is still some case like "c" who do not call 
checkpoint at all and that are still slow.

>Also, not all Checkpoint calls have a matching Backtrace
>call, s
>
You are right,  it's a big mistake.

>
>So my advice is: make the Checkpoint and Backtrace calls
>similar to
>the ones used in the interpreter. 
>
This is not possible because the interpreter do recursive call ( 
implicit stack).   Since the compiled regex are evalued iteratively, we 
must keep the checkpoints in a kind of stack.

Say  :   (foo| | [ab]* | c)

This regex will contain nested checkpoint backtrack construct. So, it is 
a stack case.

We will try to find an alternative.

Eric Durand Tremblay




More information about the Mono-devel-list mailing list