Changes between Version 4 and Version 5 of IcGrep


Ignore:
Timestamp:
Feb 28, 2015, 2:09:47 PM (4 years ago)
Author:
cameron
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • IcGrep

    v4 v5  
    77units at a time with Intel's new AVX2 instructions).
    88
    9 == Unicode Support ==
    10 
    11 icGrep accepts ASCII or UTF-8 input files and provides a full suite of
    12 Unicode processing features meeting the requirements of Unicode Level 1 support
    13 of [http://www.unicode.org/reports/tr18/ Unicode Technical Standard #18].
    14 See [wiki:IcGrepUnicodeLevel1 Unicode Level 1 Support in icGrep] for details.
    15 
    16 == Linux comparison: icGrep vs egrep ==
    17 
    18 Here's an interesting example of >100X speedup vs. egrep.
    19 
    20 {{{
    21 perf stat ./icgrep -c '[ ](0x)?([a-fA-F0-9][a-fA-F0-9])+[.:,?! ]' ../performance/data/howto
    22 130243
    23 
    24  Performance counter stats for './icgrep -c [ ](0x)?([a-fA-F0-9][a-fA-F0-9])+[.:,?! ] ../performance/data/howto':
    25 
    26          33.084992 task-clock                #    0.989 CPUs utilized         
    27                  6 context-switches          #    0.000 M/sec                 
    28                  0 CPU-migrations            #    0.000 M/sec                 
    29             12,132 page-faults               #    0.367 M/sec                 
    30        120,678,424 cycles                    #    3.648 GHz                     [75.94%]
    31         47,567,214 stalled-cycles-frontend   #   39.42% frontend cycles idle    [84.44%]
    32         40,414,969 stalled-cycles-backend    #   33.49% backend  cycles idle    [75.91%]
    33        182,642,376 instructions              #    1.51  insns per cycle       
    34                                              #    0.26  stalled cycles per insn [87.96%]
    35         14,480,982 branches                  #  437.690 M/sec                   [87.99%]
    36            509,098 branch-misses             #    3.52% of all branches         [80.41%]
    37 
    38        0.033460665 seconds time elapsed
    39 }}}
    40 
    41 {{{
    42 perf stat egrep -c '[ ](0x)?([a-fA-F0-9][a-fA-F0-9])+[.:,?! ]' ../performance/data/howto
    43 130243
    44 
    45  Performance counter stats for 'egrep -c [ ](0x)?([a-fA-F0-9][a-fA-F0-9])+[.:,?! ] ../performance/data/howto':
    46 
    47        4019.404953 task-clock                #    0.996 CPUs utilized         
    48                342 context-switches          #    0.000 M/sec                 
    49                  5 CPU-migrations            #    0.000 M/sec                 
    50                321 page-faults               #    0.000 M/sec                 
    51     14,845,377,498 cycles                    #    3.693 GHz                     [83.31%]
    52      2,246,155,037 stalled-cycles-frontend   #   15.13% frontend cycles idle    [83.34%]
    53        699,469,381 stalled-cycles-backend    #    4.71% backend  cycles idle    [66.69%]
    54     36,936,781,254 instructions              #    2.49  insns per cycle       
    55                                              #    0.06  stalled cycles per insn [83.34%]
    56      6,793,009,741 branches                  # 1690.054 M/sec                   [83.34%]
    57         20,084,331 branch-misses             #    0.30% of all branches         [83.34%]
    58 
    59        4.034369628 seconds time elapsed
    60 }}}
    61 
    62 Browse the [source:icGREP/icgrep-devel/ source] code!
     9See ICgrep.