Ignore:
Timestamp:
Feb 6, 2015, 9:37:37 AM (4 years ago)
Author:
cameron
Message:

Evaluation of optimization; diagram tweaks

File:
1 edited

Legend:

Unmodified
Added
Removed
  • docs/Working/icGrep/evaluation.tex

    r4465 r4466  
    1717of command-line options.   This makes it relatively straightforward
    1818to report on certain performance aspects of ICgrep, while others require
    19 special builds.
    20 
    21 
     19special builds. 
    2220
    2321For example, the command-line switch {\tt -disable-matchstar} can be used
     
    3230file.   But when search for XML tags using the regular expression
    3331\verb:<[^!?][^>]*>:, a slowdown of more than 2X may be found in files
    34 with many long tags.
     32with many long tags. 
    3533
     34The {\tt -disable-log2-bounded-repetition} flag allows these
     35effectiveness of the special techniques for bounded repetition of
     36byte classes to be assessed.   A slowdown of 30\% was observed
     37with the searches using the regular expression
     38\verb:(^|[ ])[a-zA-Z]{11,33}([.!? ]|$):, for example.
    3639
     40To assess the effectiveness of inserting if-statements, the
     41number of non-nullable pattern elements between the if-tests
     42can be set with the {\tt -if-insertion-gap=} option.   The
     43default value in icGrep is 3, setting the gap to 100 effectively
     44turns of if-insertion.   Eliminating if-insertion sometimes improves
     45performance by avoiding the extra if tests and branch mispredications.
     46For patterns with long strings, however, there can be a substantial
     47slowdown; searching for a pattern of length 40 slows down by more
     48than 50\% without the if-statement short-circuiting.
    3749
    38 In order to better understand the search process, icGrep allows
    39 various internal representations to be printed out.   For example, the option
     50ICgrep also provides options that allow
     51various internal representations to be printed out.   These
     52can aid in understanding and/or debugging performance issues.
     53For example, the option
    4054{\tt -print-REs} show the parsed regular expression as it goes
    4155through various transformations.   The internal Pablo code generated
    4256may be displayed with {\tt -print-pablo}.  This can be quite useful in
    4357helping understand the match process.   It also possible to print out the
    44 generated LLVM IR code ({\tt -dump-generated-IR}), but this includes many
     58generated LLVM IR code ({\tt -dump-generated-IR}), but this may be
     59less useful as it includes many
    4560details of low-level carry-handling that obscures the core logic.
    4661
    47 
    48 
    49 
    50 
    51 
    5262\subsection{Single vs. Multithreaded Performance}
Note: See TracChangeset for help on using the changeset viewer.