Updated benchmarks are automatically generated and published when a new version of ugrep is released. Last update Thu Oct 24 16:14:32 EDT 2024
Intel x64 machine:
./install.sh # expand source code repo in corpi dir and create archives to search
./bench.sh > report_x64.md
./collect.awk < report_x64.md
ARM64 machine:
./install.sh # expand source code repo in corpi dir and create archives to search
./bench.sh > report_arm64.md
./collect.awk < report_arm64.md
the install.sh
script requires the following compression utilities:
- bzip2
- gzip
- lzip
- xz
- zstd
WARNING performance results are meaningless when the host machine executes other tasks that load the CPU; quit all running applications first, disconnect from the network if possible to halt background process networking activity, and check for running background processes (with e.g. top
) before running ./bench.sh
- timing results are collected with the standard 10ms resolution; a lower resolution is unusable and a higher resolution is unreliable due to the natural timing variations observed in the system
- all timed runs are warm runs, cold runs are not timed
- all timed runs of ugrep are performed without a .ugrep configuration file by using the ugrep command
- all regex patterns tested are fully compliant with the common ERE standard syntax; a failure may occur if a grep tool fails to parse ERE (for example, ripgrep failing to parse
[][a-z]
in URL pattern testing, when[\[\]a-z]
works for ripgrep but this is not compliant so GNU grep fails)
- ripgrep and silver searcher skip binary files by default, whereas grep and ugrep do not and use option
-I
to skip binary files; we include option-I
in recursive searches for a fair performance comparison - ripgrep does not output 0 matches for option
-c
, whereas grep and ugrep output 0 matches as expected to list all files thereby making the performance of option-c
incomparable for recursive searches (note: ugrep option-m1,
(--min-count=1
) skips zero matches but is not used in this benchmark) - ripgrep does not search tar file contents, instead it may report binary file matches (found "\0" byte around offset N) without exiting with an error, so we report an error instead
- ugrep option
-z
is more powerful than just internally decompressing a single file in a buffer to search, it searches nested archives up to nesting depth--zmax
(1 by default) by spawning one or more decompression theads; none of the other grep tools can search compressed tar files, nested archives and compressed files stored within archives - different versions and implementations of a compression library linked with ugrep may have different performance characteristics, notably zlib (gz); the performance is mostly determined by the compression library and is not attributable to the grep tool
found ugrep 1545712 byte executable located at /usr/local/bin/ugrep
ugrep 7.0.0 x86_64-apple-darwin21.6.0 +avx2; -P:pcre2jit; -z:zlib,bzip2,lzma,lz4,zstd,brotli,7z,tar/pax/cpio/zip
License: BSD-3-Clause; ugrep user manual: <https://ugrep.com>
Written by Robert van Engelen and others: <https://github.com/Genivia/ugrep>
Ugrep utilizes the RE/flex regex library: <https://github.com/Genivia/RE-flex>
found rg 6748656 byte executable located at /usr/local/bin/rg
ripgrep 14.1.0
features:-simd-accel,+pcre2
simd(compile):+SSE2,+SSSE3,-AVX2
simd(runtime):+SSE2,+SSSE3,+AVX2
PCRE2 10.42 is available (JIT is available)
found ag 84764 byte executable located at /usr/local/bin/ag
ag version 2.2.0
Features:
+jit +lzma +zlib
found ggrep 263184 byte executable located at /usr/local/bin/ggrep
ggrep (GNU grep) 3.11
Packaged by Homebrew
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Mike Haertel and others; see
<https://git.savannah.gnu.org/cgit/grep.git/tree/AUTHORS>.
grep -P uses PCRE2 10.44 2024-06-07
grepping rol
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.03 | 0.02 | 0.02 | 0.00 | 0.01 |
rg | 0.03 | 0.03 | 0.03 | 0.03 | 0.03 | 0.03 | 0.02 | 0.03 | 0.00 | 0.01 |
ag | 0.68 | 0.65 | 0.40 | 0.34 | 0.36 | 0.35 | 0.10 | 0.10 | 0.10 | 0.10 |
ggrep | 0.11 | 0.13 | 0.14 | 0.15 | 0.52 | 0.52 | 0.10 | 0.51 | 0.00 | 0.08 |
grepping the
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.06 | 0.08 | 0.14 | 0.08 | 0.10 | 0.20 | 0.03 | 0.04 | 0.00 | 0.00 |
rg | 0.07 | 0.10 | 0.17 | 0.11 | 0.14 | 0.33 | 0.04 | 0.07 | 0.00 | 0.00 |
ag | 3.71 | 3.72 | 1.16 | 3.61 | 3.62 | 1.06 | 0.14 | 0.14 | 0.14 | 0.14 |
ggrep | 0.13 | 0.17 | 0.70 | 0.35 | 0.86 | 3.81 | 0.09 | 0.76 | 0.00 | 0.00 |
grepping cycles|semigroups
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.03 | 0.03 | 0.03 | 0.03 | 0.03 | 0.03 | 0.03 | 0.03 | 0.00 | 0.00 |
rg | 0.03 | 0.04 | 0.03 | 0.03 | 0.06 | 0.06 | 0.04 | 0.05 | 0.00 | 0.00 |
ag | 0.42 | 0.41 | 0.40 | 0.41 | 0.42 | 0.42 | 0.16 | 0.16 | 0.16 | 0.17 |
ggrep | 0.21 | 0.22 | 0.22 | 0.34 | 0.30 | 0.30 | 0.21 | 0.29 | 0.00 | 0.00 |
grepping ro[a-z]*ds
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.05 | 0.05 | 0.05 | 0.06 | 0.06 | 0.06 | 0.05 | 0.06 | 0.01 | 0.01 |
rg | 0.04 | 0.04 | 0.04 | 0.07 | 0.06 | 0.07 | 0.04 | 0.07 | 0.00 | 0.00 |
ag | 0.44 | 0.44 | 0.39 | 0.41 | 0.40 | 0.39 | 0.14 | 0.14 | 0.14 | 0.14 |
ggrep | 0.37 | 0.37 | 0.38 | 0.40 | 0.84 | 0.84 | 0.36 | 0.81 | 0.00 | 0.00 |
grepping r[a-z]*st
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.08 | 0.09 | 0.10 | 0.10 | 0.11 | 0.11 | 0.06 | 0.10 | 0.00 | 0.00 |
rg | 0.16 | 0.16 | 0.21 | 0.17 | 0.20 | 0.19 | 0.13 | 0.18 | 0.00 | 0.00 |
ag | 1.83 | 1.83 | 0.68 | 0.48 | 0.48 | 0.41 | 0.21 | 0.15 | 0.20 | 0.15 |
ggrep | 0.86 | 0.91 | 1.28 | 1.12 | 3.15 | 3.22 | 0.83 | 3.15 | 0.00 | 0.00 |
grepping [A-Z][a-z]+ny
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.03 | 0.03 | 0.03 | 0.04 | 0.04 | 0.04 | 0.03 | 0.03 | 0.00 | 0.00 |
rg | 0.03 | 0.03 | 0.04 | 0.04 | 0.12 | 0.21 | 0.02 | 0.11 | 0.00 | 0.00 |
ag | 0.74 | 0.74 | 0.54 | 0.73 | 1.76 | 1.20 | 0.23 | 0.84 | 0.23 | 0.84 |
ggrep | 0.26 | 0.28 | 0.33 | 0.28 | 1.69 | 3.25 | 0.25 | 1.60 | 0.00 | 0.00 |
grepping [A-Z][a-z]{11}ny
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.02 | 0.03 | 0.03 | 0.03 | 0.03 | 0.03 | 0.02 | 0.03 | 0.01 | 0.01 |
rg | 0.02 | 0.02 | 0.02 | 0.03 | 0.14 | 0.15 | 0.02 | 0.14 | 0.00 | 0.02 |
ag | 0.34 | 0.35 | 0.35 | 0.23 | 0.41 | 0.41 | 0.14 | 0.17 | 0.14 | 0.17 |
ggrep | 0.31 | 0.32 | 0.32 | 0.33 | 2.44 | 2.46 | 0.31 | 2.45 | 0.04 | 0.29 |
grepping \w+ny
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.05 | 0.05 | 0.05 | 0.05 | 0.06 | 0.06 | 0.04 | 0.04 | 0.01 | 0.01 |
rg | 0.04 | 0.05 | 0.05 | 0.04 | 0.13 | 0.24 | 0.03 | 0.10 | 0.01 | 0.00 |
ag | 1.62 | 1.64 | 0.86 | 1.56 | 1.58 | 0.86 | 0.46 | 0.48 | 0.46 | 0.48 |
ggrep | 1.11 | 1.13 | 3.18 | 1.24 | 1.54 | 3.64 | 1.04 | 1.42 | 0.00 | 0.00 |
grepping ab(cd?)?
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.04 | 0.04 | 0.04 | 0.03 | 0.03 | 0.03 | 0.02 | 0.03 | 0.00 | 0.00 |
rg | 0.05 | 0.07 | 0.07 | 0.04 | 0.12 | 0.12 | 0.03 | 0.11 | 0.00 | 0.00 |
ag | 1.89 | 1.88 | 0.64 | 0.43 | 0.43 | 0.42 | 0.15 | 0.17 | 0.15 | 0.17 |
ggrep | 0.11 | 0.13 | 0.32 | 0.34 | 1.62 | 1.63 | 0.09 | 1.61 | 0.00 | 0.00 |
grepping x*y*z*
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.10 | 0.13 | 0.22 | 0.12 | 0.13 | 0.13 | 0.05 | 0.12 | 0.00 | 0.01 |
rg | 0.15 | 0.25 | 10.25 | 0.26 | 0.28 | 1.76 | 0.09 | 0.10 | 0.00 | 0.00 |
ag | 4.30 | 4.32 | 4.42 | 2.30 | 2.28 | 2.27 | 4.08 | 2.02 | 4.07 | 2.05 |
ggrep | 0.20 | 0.34 | 16.93 | 1.63 | 2.96 | 37.36 | 0.07 | 2.48 | 0.00 | 0.00 |
grepping (19|20)[0-9]{2}/(0[1-9]|1[012])|(0[1-9]|1[012])/(19|20)[0-9]{2}
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.02 | 0.03 | 0.02 | 0.02 | 0.02 | 0.03 | 0.02 | 0.02 | 0.01 | 0.01 |
rg | 0.04 | 0.04 | 0.05 | 0.08 | 0.08 | 0.08 | 0.05 | 0.08 | 0.00 | 0.00 |
ag | 0.40 | 0.40 | 0.39 | 0.40 | 0.40 | 0.38 | 0.14 | 0.14 | 0.14 | 0.14 |
ggrep | 0.05 | 0.07 | 0.07 | 0.09 | 0.09 | 0.11 | 0.05 | 0.08 | 0.00 | 0.00 |
grepping (https?://|www\.)[-a-zA-Z0-9@:%._+~#=]{1,253}\.[-a-zA-Z0-9]{2,}\.[][a-zA-Z0-9()@:%_+.~#?&/=\-]+
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.06 | 0.07 | 0.06 | 0.07 | 0.07 | 0.07 | 0.05 | 0.06 | 0.02 | 0.02 |
rg | fail | fail | fail | fail | fail | fail | fail | fail | fail | fail |
ag | 0.81 | 0.79 | 0.55 | 0.80 | 0.80 | 0.55 | 0.16 | 0.16 | 0.15 | 0.16 |
ggrep | 5.70 | 5.69 | 11.45 | 5.81 | 5.98 | 12.02 | 5.60 | 5.91 | 0.01 | 0.01 |
grepping [a-z]+-[a-z]+
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.05 | 0.05 | 0.05 | 0.05 | 0.06 | 0.07 | 0.03 | 0.04 | 0.00 | 0.00 |
rg | 0.06 | 0.08 | 0.09 | 0.09 | 0.11 | 0.12 | 0.05 | 0.08 | 0.00 | 0.00 |
ag | 2.12 | 2.11 | 0.93 | 2.12 | 2.14 | 0.95 | 0.38 | 0.41 | 0.38 | 0.41 |
ggrep | 2.73 | 2.71 | 5.22 | 3.06 | 2.94 | 6.52 | 2.96 | 2.82 | 0.00 | 0.00 |
grepping ''
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.09 | 0.16 | 0.16 | 0.16 | 0.15 | 0.16 | 0.04 | 0.04 | 0.00 | 0.00 |
rg | 0.15 | 0.27 | 10.19 | 0.26 | 0.27 | 1.71 | 0.08 | 0.10 | 0.00 | 0.00 |
ag | fail | fail | fail | fail | fail | fail | fail | fail | 0.06 | 1.20 |
ggrep | 0.20 | 0.36 | 17.22 | 1.54 | 2.69 | 34.70 | 0.07 | 2.29 | 0.00 | 0.00 |
grepping ^$
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.04 | 0.06 | 0.06 | 0.06 | 0.06 | 0.06 | 0.03 | 0.04 | 0.00 | 0.00 |
rg | 0.06 | 0.09 | 0.10 | 0.77 | 0.77 | 0.79 | 0.05 | 0.73 | 0.00 | 0.00 |
ag | 0.41 | 0.42 | 0.37 | fail | fail | fail | 0.11 | fail | 0.11 | fail |
ggrep | 0.11 | 0.15 | 0.14 | 2.85 | 4.65 | 4.64 | 0.08 | 4.57 | 0.00 | 0.00 |
grepping -fwords/1.txt
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.05 | 0.06 | 0.05 | 0.06 | 0.11 | 0.24 | 0.03 | 0.06 | 0.00 | 0.00 |
rg | 0.05 | 0.06 | 0.07 | 0.07 | 0.18 | 0.41 | 0.03 | 0.10 | 0.00 | 0.00 |
ggrep | 0.13 | 0.16 | 0.21 | 0.17 | 0.92 | 4.09 | 0.10 | 0.79 | 0.00 | 0.00 |
grepping -fwords/2.txt
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.12 | 0.12 | 0.12 | 0.12 | 0.14 | 0.14 | 0.12 | 0.14 | 0.00 | 0.00 |
rg | 0.15 | 0.15 | 0.15 | 0.16 | 11.59 | 11.65 | 0.14 | 11.78 | 0.01 | 0.01 |
ggrep | 0.95 | 0.97 | 0.97 | 0.97 | 0.42 | 0.47 | 0.92 | 0.40 | 0.00 | 0.00 |
grepping -fwords/3.txt
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.23 | 0.25 | 0.25 | 0.24 | 0.49 | 0.50 | 0.21 | 0.48 | 0.00 | 0.01 |
rg | 0.21 | 0.22 | 0.23 | 0.22 | 19.65 | 19.79 | 0.18 | 19.30 | 0.00 | 0.03 |
ggrep | 1.38 | 1.40 | 1.62 | 1.48 | 9.53 | 9.75 | 1.30 | 9.42 | 0.00 | 0.02 |
grepping -fwords/4.txt
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.19 | 0.19 | 0.18 | 0.19 | 0.40 | 0.40 | 0.18 | 0.36 | 0.01 | 0.02 |
rg | 0.28 | 0.28 | 0.28 | 4.03 | 368.43 | 373.73 | 0.26 | 367.94 | 0.01 | 0.10 |
ggrep | fail | fail | fail | fail | fail | fail | fail | fail | fail | fail |
grepping Sherlock|Holmes
elapsed real time (s)
search | --json | --csv | --xml | --hex |
---|---|---|---|---|
ugrep | 0.02 | 0.02 | 0.02 | 0.02 |
rg | 0.04 | fail | fail | fail |
ag | 0.40 | fail | 0.39 | fail |
grepping flop
elapsed real time (s)
search | --replace=flip |
---|---|
ugrep | 0.02 |
rg | 0.02 |
grepping ^$
elapsed real time (s)
search | -nA9 | -nB9 | -nC9 | -winA999 | -winB999 | -winC999 |
---|---|---|---|---|---|---|
ugrep | 0.18 | 0.18 | 0.19 | 0.20 | 0.24 | 0.21 |
rg | 0.18 | 0.19 | 0.20 | 1.05 | 1.05 | 0.99 |
ag | 0.55 | 0.76 | 0.78 | fail | fail | fail |
ggrep | 0.31 | 0.34 | 0.34 | 5.13 | 5.36 | 5.33 |
grepping begin|end
elapsed real time (s)
search | -nA9 | -nB9 | -nC9 | -winA999 | -winB999 | -winC999 |
---|---|---|---|---|---|---|
ugrep | 0.11 | 0.09 | 0.15 | 0.18 | 0.22 | 0.19 |
rg | 0.10 | 0.10 | 0.11 | 0.23 | 0.25 | 0.24 |
ag | 1.52 | 1.71 | 1.74 | 1.02 | 1.24 | 1.20 |
ggrep | 0.34 | 0.33 | 0.38 | 1.26 | 1.32 | 1.28 |
grepping abc[a-z0-9]+
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.04 | 0.04 | 0.03 | 0.04 | 0.03 | 0.03 | 0.02 | 0.02 | 0.00 | 0.01 |
rg | 0.04 | 0.04 | 0.02 | 0.03 | 0.03 | 0.03 | 0.02 | 0.03 | 0.00 | 0.00 |
ag | 2.71 | 2.72 | 0.71 | 0.56 | 0.57 | 0.37 | 0.10 | 0.11 | 0.10 | 0.11 |
ggrep | 0.19 | 0.19 | 0.36 | 0.35 | 2.11 | 2.36 | 0.17 | 2.18 | 0.00 | 0.07 |
grepping FIXME|TODO
elapsed real time (s)
search | -n | -nr | -wn | -wnr | -win | -winr | -wino | -winor | -wic | -wicr | -wil | -wilr |
---|---|---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.03 | 0.03 | 0.03 | 0.03 | 0.04 | 0.03 | ||||||
rg | 0.03 | 0.03 | 0.03 | 0.03 | 0.03 | 0.03 | ||||||
ag | 0.06 | 0.05 | 0.05 | 0.05 | 0.05 | 0.05 | ||||||
ggrep | 0.14 | 0.16 | 0.23 | 0.23 | 0.22 | 0.21 |
grepping char|int|long|size_t|void
elapsed real time (s)
search | -n | -nr | -wn | -wnr | -win | -winr | -wino | -winor | -wic | -wicr | -wil | -wilr |
---|---|---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.05 | 0.05 | 0.05 | 0.05 | 0.05 | 0.04 | ||||||
rg | 0.06 | 0.06 | 0.06 | 0.07 | 0.06 | 0.05 | ||||||
ag | 0.51 | 0.35 | 0.35 | 0.23 | 0.08 | 0.08 | ||||||
ggrep | 0.24 | 0.32 | 0.52 | 0.68 | 0.44 | 0.19 |
grepping ssl-?3(\.[0-9]+)?
elapsed real time (s)
search | -n | -nr | -wn | -wnr | -win | -winr | -wino | -winor | -wic | -wicr | -wil | -wilr |
---|---|---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.03 | 0.03 | 0.03 | 0.03 | 0.04 | 0.03 | ||||||
rg | 0.03 | 0.03 | 0.04 | 0.03 | 0.03 | 0.03 | ||||||
ag | 0.06 | 0.05 | 0.05 | 0.05 | 0.05 | 0.05 | ||||||
ggrep | 0.13 | 0.13 | 0.15 | 0.15 | 0.13 | 0.13 |
grepping _(RUN|LIB|NAM)[A-Z_]+
elapsed real time (s)
search | -n | -nr | -wn | -wnr | -win | -winr | -wino | -winor | -wic | -wicr | -wil | -wilr |
---|---|---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.25 | 0.25 | 0.25 | 0.26 | 0.27 | 0.26 | ||||||
rg | 0.26 | 0.26 | 0.26 | 0.27 | 0.26 | 0.26 | ||||||
ag | 0.44 | 0.41 | 0.43 | 0.42 | 0.39 | 0.40 | ||||||
ggrep | 0.77 | 0.91 | 0.99 | 1.00 | 0.95 | 0.92 |
grepping String|Int|Double|Array|Dictionary
elapsed real time (s)
search | -n | -nr | -wn | -wnr | -win | -winr | -wino | -winor | -wic | -wicr | -wil | -wilr |
---|---|---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.29 | 0.27 | 0.30 | 0.30 | 0.30 | 0.26 | ||||||
rg | 0.33 | 0.32 | 0.34 | 0.35 | 0.33 | 0.31 | ||||||
ag | 1.41 | 0.81 | 1.07 | 0.85 | 0.50 | 0.46 | ||||||
ggrep | 1.00 | 1.19 | 2.68 | 2.99 | 2.49 | 1.08 |
grepping (class|struct)\sS[a-z]+T
elapsed real time (s)
search | -n | -nr | -wn | -wnr | -win | -winr | -wino | -winor | -wic | -wicr | -wil | -wilr |
---|---|---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.25 | 0.25 | 0.26 | 0.26 | 0.27 | 0.25 | ||||||
rg | 0.26 | 0.26 | 0.27 | 0.27 | 0.27 | 0.26 | ||||||
ag | 0.51 | 0.41 | 0.43 | 0.44 | 0.43 | 0.40 | ||||||
ggrep | 0.94 | 1.02 | 1.32 | 1.32 | 1.30 | 1.21 |
grepping for\s[a-z]+\sin
elapsed real time (s)
search | -n | -nr | -wn | -wnr | -win | -winr | -wino | -winor | -wic | -wicr | -wil | -wilr |
---|---|---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.26 | 0.25 | 0.26 | 0.26 | 0.28 | 0.25 | ||||||
rg | 0.30 | 0.26 | 0.26 | 0.27 | 0.26 | 0.26 | ||||||
ag | 0.51 | 0.45 | 0.46 | 0.44 | 0.40 | 0.41 | ||||||
ggrep | 0.88 | 0.87 | 1.22 | 1.17 | 1.13 | 1.03 |
grepping landsnail
elapsed real time (s)
search | -z | -zwin | -zc | -zwic | -zl | -zwil |
---|---|---|---|---|---|---|
ugrep | 3.22 | 3.23 | 3.22 | 3.27 | 0.47 | 0.46 |
rg | 3.34 | 3.34 | 3.35 | 3.34 | 0.46 | 0.46 |
ag | fail | fail | fail | fail | fail | fail |
grepping landsnail
elapsed real time (s)
search | -z | -zwin | -zc | -zwic | -zl | -zwil |
---|---|---|---|---|---|---|
ugrep | 0.51 | 0.51 | 0.51 | 0.52 | 0.08 | 0.08 |
rg | 0.41 | 0.41 | 0.40 | 0.41 | 0.06 | 0.06 |
ag | fail | fail | fail | fail | fail | fail |
grepping landsnail
elapsed real time (s)
search | -z | -zwin | -zc | -zwic | -zl | -zwil |
---|---|---|---|---|---|---|
ugrep | 0.09 | 0.09 | 0.09 | 0.09 | 0.02 | 0.02 |
rg | 0.11 | 0.13 | 0.11 | 0.13 | 0.02 | 0.03 |
ag | fail | fail | fail | fail | fail | fail |
grepping landsnail
elapsed real time (s)
search | -z | -zwin | -zc | -zwic | -zl | -zwil |
---|---|---|---|---|---|---|
ugrep | 1.44 | 1.41 | 1.43 | 1.44 | 0.21 | 0.21 |
rg | 1.48 | 1.46 | 1.47 | 1.48 | 0.21 | 0.22 |
ag | fail | fail | fail | fail | fail | fail |
grepping landsnail
elapsed real time (s)
search | -z | -zwin | -zc | -zwic | -zl | -zwil |
---|---|---|---|---|---|---|
ugrep | 0.18 | 0.18 | 0.18 | 0.18 | 0.03 | 0.03 |
rg | 0.16 | 0.16 | 0.16 | 0.16 | fail | fail |
ag | fail | fail | fail | fail | fail | fail |
grepping FIXME|TODO
elapsed real time (s)
search | -z | -zwin | -zc | -zwic | -zl | -zwil |
---|---|---|---|---|---|---|
ugrep | 0.32 | 0.31 | 0.32 | 0.32 | 0.32 | 0.32 |
rg | fail | fail | fail | fail | fail | fail |
ag | fail | fail | fail | fail | fail | fail |
grepping FIXME|TODO
elapsed real time (s)
search | -z | -zwin | -zc | -zwic | -zl | -zwil |
---|---|---|---|---|---|---|
ugrep | 0.12 | 0.12 | 0.13 | 0.13 | 0.12 | 0.12 |
rg | fail | fail | fail | fail | fail | fail |
ag | fail | fail | fail | fail | fail | fail |
grepping FIXME|TODO
elapsed real time (s)
search | -z | -zwin | -zc | -zwic | -zl | -zwil |
---|---|---|---|---|---|---|
ugrep | 0.34 | 0.35 | 0.35 | 0.35 | 0.34 | 0.34 |
rg | fail | fail | fail | fail | fail | fail |
ag | fail | fail | fail | fail | fail | fail |
found ugrep 1356434 byte executable located at /usr/local/bin/ugrep
ugrep 7.0.0 aarch64-apple-darwin21.6.0 +neon/AArch64; -P:pcre2jit; -z:zlib,bzip2,lzma,lz4,zstd,brotli,7z,tar/pax/cpio/zip
License: BSD-3-Clause; ugrep user manual: <https://ugrep.com>
Written by Robert van Engelen and others: <https://github.com/Genivia/ugrep>
Ugrep utilizes the RE/flex regex library: <https://github.com/Genivia/RE-flex>
found rg 6680304 byte executable located at /opt/homebrew/bin/rg
ripgrep 14.1.0
features:-simd-accel,+pcre2
simd(compile):+NEON
simd(runtime):+NEON
PCRE2 10.42 is available (JIT is available)
found ag 111344 byte executable located at /opt/homebrew/bin/ag
ag version 2.2.0
Features:
+jit +lzma +zlib
found ggrep 266352 byte executable located at /opt/homebrew/bin/ggrep
ggrep (GNU grep) 3.11
Packaged by Homebrew
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Mike Haertel and others; see
<https://git.savannah.gnu.org/cgit/grep.git/tree/AUTHORS>.
grep -P uses PCRE2 10.44 2024-06-07
grepping rol
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.02 | 0.02 | 0.02 | 0.01 | 0.02 | 0.02 | 0.01 | 0.02 | 0.00 | 0.00 |
rg | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.01 | 0.02 | 0.00 | 0.00 |
ag | 0.54 | 0.54 | 0.43 | 0.40 | 0.40 | 0.41 | 0.16 | 0.17 | 0.17 | 0.17 |
ggrep | 0.10 | 0.12 | 0.13 | 0.13 | 0.37 | 0.37 | 0.10 | 0.35 | 0.00 | 0.05 |
grepping the
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.05 | 0.05 | 0.09 | 0.06 | 0.06 | 0.13 | 0.02 | 0.03 | 0.00 | 0.00 |
rg | 0.04 | 0.05 | 0.11 | 0.06 | 0.08 | 0.18 | 0.02 | 0.05 | 0.00 | 0.00 |
ag | 1.94 | 1.94 | 0.84 | 1.89 | 1.89 | 0.81 | 0.21 | 0.21 | 0.21 | 0.21 |
ggrep | 0.10 | 0.13 | 0.40 | 0.23 | 0.50 | 2.22 | 0.08 | 0.45 | 0.00 | 0.00 |
grepping cycles|semigroups
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.00 | 0.00 |
rg | 0.02 | 0.02 | 0.02 | 0.02 | 0.03 | 0.03 | 0.02 | 0.03 | 0.00 | 0.00 |
ag | 0.52 | 0.52 | 0.52 | 0.51 | 0.50 | 0.51 | 0.28 | 0.27 | 0.29 | 0.27 |
ggrep | 0.15 | 0.17 | 0.17 | 0.26 | 0.24 | 0.24 | 0.15 | 0.22 | 0.00 | 0.00 |
grepping ro[a-z]*ds
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.03 | 0.03 | 0.03 | 0.04 | 0.04 | 0.04 | 0.03 | 0.04 | 0.00 | 0.00 |
rg | 0.02 | 0.03 | 0.03 | 0.04 | 0.04 | 0.05 | 0.03 | 0.04 | 0.00 | 0.00 |
ag | 0.44 | 0.44 | 0.42 | 0.41 | 0.41 | 0.41 | 0.17 | 0.17 | 0.18 | 0.16 |
ggrep | 0.25 | 0.27 | 0.28 | 0.30 | 0.58 | 0.58 | 0.25 | 0.56 | 0.00 | 0.00 |
grepping r[a-z]*st
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.06 | 0.06 | 0.07 | 0.07 | 0.08 | 0.08 | 0.05 | 0.08 | 0.00 | 0.00 |
rg | 0.13 | 0.14 | 0.18 | 0.11 | 0.13 | 0.13 | 0.13 | 0.12 | 0.00 | 0.00 |
ag | 1.17 | 1.17 | 0.69 | 0.46 | 0.46 | 0.43 | 0.32 | 0.19 | 0.31 | 0.19 |
ggrep | 0.49 | 0.51 | 0.72 | 0.64 | 1.82 | 1.86 | 0.48 | 1.80 | 0.00 | 0.00 |
grepping [A-Z][a-z]+ny
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.02 | 0.02 | 0.02 | 0.02 | 0.03 | 0.03 | 0.02 | 0.02 | 0.00 | 0.00 |
rg | 0.01 | 0.02 | 0.02 | 0.02 | 0.09 | 0.16 | 0.01 | 0.08 | 0.00 | 0.00 |
ag | 0.63 | 0.63 | 0.54 | 0.64 | 2.19 | 1.96 | 0.28 | 1.66 | 0.27 | 1.66 |
ggrep | 0.16 | 0.18 | 0.21 | 0.18 | 0.98 | 1.90 | 0.16 | 0.95 | 0.00 | 0.00 |
grepping [A-Z][a-z]{11}ny
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.01 | 0.01 | 0.01 | 0.02 | 0.02 | 0.02 | 0.01 | 0.02 | 0.00 | 0.00 |
rg | 0.01 | 0.02 | 0.02 | 0.02 | 0.11 | 0.11 | 0.01 | 0.11 | 0.00 | 0.01 |
ag | 0.40 | 0.40 | 0.39 | 0.29 | 1.54 | 1.54 | 0.20 | 1.31 | 0.19 | 1.31 |
ggrep | 0.19 | 0.21 | 0.21 | 0.21 | 1.42 | 1.42 | 0.19 | 1.40 | 0.02 | 0.17 |
grepping \w+ny
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.03 | 0.03 | 0.03 | 0.03 | 0.04 | 0.04 | 0.02 | 0.03 | 0.00 | 0.00 |
rg | 0.02 | 0.03 | 0.03 | 0.03 | 0.09 | 0.18 | 0.02 | 0.08 | 0.00 | 0.00 |
ag | 3.33 | 3.33 | 3.00 | 2.30 | 2.29 | 2.00 | 2.70 | 1.69 | 2.70 | 1.69 |
ggrep | 0.57 | 0.59 | 1.67 | 0.65 | 0.88 | 2.04 | 0.57 | 0.83 | 0.00 | 0.00 |
grepping ab(cd?)?
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.03 | 0.03 | 0.03 | 0.02 | 0.02 | 0.02 | 0.01 | 0.02 | 0.00 | 0.00 |
rg | 0.03 | 0.04 | 0.04 | 0.03 | 0.08 | 0.08 | 0.02 | 0.08 | 0.00 | 0.00 |
ag | 1.08 | 1.08 | 0.56 | 0.45 | 0.45 | 0.45 | 0.19 | 0.21 | 0.19 | 0.21 |
ggrep | 0.08 | 0.10 | 0.20 | 0.21 | 1.05 | 1.06 | 0.07 | 1.03 | 0.00 | 0.00 |
grepping x*y*z*
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.08 | 0.09 | 0.14 | 0.09 | 0.10 | 0.10 | 0.03 | 0.10 | 0.00 | 0.00 |
rg | 0.08 | 0.13 | 5.13 | 0.15 | 0.15 | 0.96 | 0.05 | 0.06 | 0.00 | 0.00 |
ag | 3.98 | 3.99 | 4.01 | 3.05 | 3.03 | 3.01 | 3.71 | 2.78 | 3.71 | 2.78 |
ggrep | 0.11 | 0.19 | 7.60 | 0.73 | 1.28 | 16.78 | 0.04 | 1.12 | 0.00 | 0.00 |
grepping (19|20)[0-9]{2}/(0[1-9]|1[012])|(0[1-9]|1[012])/(19|20)[0-9]{2}
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.00 | 0.00 |
rg | 0.03 | 0.03 | 0.03 | 0.05 | 0.05 | 0.05 | 0.03 | 0.05 | 0.00 | 0.00 |
ag | 0.38 | 0.38 | 0.37 | 0.36 | 0.37 | 0.36 | 0.13 | 0.12 | 0.13 | 0.12 |
ggrep | 0.04 | 0.05 | 0.06 | 0.07 | 0.07 | 0.08 | 0.04 | 0.06 | 0.00 | 0.00 |
grepping (https?://|www\.)[-a-zA-Z0-9@:%._+~#=]{1,253}\.[-a-zA-Z0-9]{2,}\.[][a-zA-Z0-9()@:%_+.~#?&/=\-]+
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.04 | 0.04 | 0.04 | 0.04 | 0.05 | 0.05 | 0.03 | 0.04 | 0.00 | 0.00 |
rg | fail | fail | fail | fail | fail | fail | fail | fail | fail | fail |
ag | 0.60 | 0.60 | 0.50 | 0.59 | 0.60 | 0.50 | 0.19 | 0.19 | 0.19 | 0.19 |
ggrep | 3.40 | 3.42 | 6.95 | 3.53 | 3.67 | 7.43 | 3.39 | 3.65 | 0.00 | 0.00 |
grepping [a-z]+-[a-z]+
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.03 | 0.04 | 0.04 | 0.04 | 0.04 | 0.05 | 0.02 | 0.03 | 0.00 | 0.00 |
rg | 0.04 | 0.05 | 0.06 | 0.06 | 0.06 | 0.08 | 0.03 | 0.04 | 0.00 | 0.00 |
ag | 2.22 | 2.23 | 1.73 | 2.17 | 2.17 | 1.67 | 1.33 | 1.28 | 1.33 | 1.28 |
ggrep | 1.35 | 1.38 | 2.72 | 1.53 | 1.49 | 3.38 | 1.35 | 1.46 | 0.00 | 0.00 |
grepping ''
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.07 | 0.09 | 0.09 | 0.09 | 0.09 | 0.09 | 0.03 | 0.03 | 0.00 | 0.00 |
rg | 0.08 | 0.14 | 5.13 | 0.15 | 0.15 | 0.95 | 0.05 | 0.06 | 0.00 | 0.00 |
ag | fail | fail | fail | fail | fail | fail | fail | fail | 0.03 | 2.02 |
ggrep | 0.11 | 0.19 | 7.44 | 0.70 | 1.16 | 15.31 | 0.04 | 1.00 | 0.00 | 0.00 |
grepping ^$
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.03 | 0.04 | 0.04 | 0.04 | 0.04 | 0.04 | 0.03 | 0.03 | 0.00 | 0.00 |
rg | 0.04 | 0.05 | 0.06 | 0.54 | 0.54 | 0.54 | 0.04 | 0.52 | 0.00 | 0.00 |
ag | 0.41 | 0.41 | 0.39 | fail | fail | fail | 0.15 | fail | 0.15 | fail |
ggrep | 0.06 | 0.09 | 0.09 | 1.55 | 2.86 | 2.87 | 0.05 | 2.83 | 0.00 | 0.00 |
grepping -fwords/1.txt
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.04 | 0.04 | 0.04 | 0.04 | 0.09 | 0.19 | 0.02 | 0.05 | 0.00 | 0.00 |
rg | 0.03 | 0.04 | 0.05 | 0.05 | 0.15 | 0.38 | 0.02 | 0.11 | 0.00 | 0.00 |
ggrep | 0.08 | 0.10 | 0.13 | 0.11 | 0.53 | 2.31 | 0.07 | 0.47 | 0.00 | 0.00 |
grepping -fwords/2.txt
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.10 | 0.10 | 0.10 | 0.10 | 0.11 | 0.11 | 0.10 | 0.11 | 0.00 | 0.00 |
rg | 0.11 | 0.11 | 0.11 | 0.12 | 7.48 | 7.48 | 0.11 | 7.47 | 0.00 | 0.00 |
ggrep | 0.63 | 0.65 | 0.66 | 0.65 | 0.31 | 0.35 | 0.63 | 0.30 | 0.00 | 0.00 |
grepping -fwords/3.txt
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.13 | 0.13 | 0.14 | 0.14 | 0.31 | 0.31 | 0.12 | 0.31 | 0.00 | 0.00 |
rg | 1.20 | 1.21 | 1.48 | 1.35 | 12.11 | 12.14 | 1.19 | 12.11 | 0.00 | 0.01 |
ggrep | 0.88 | 0.91 | 1.07 | 1.00 | 5.82 | 6.06 | 0.88 | 5.80 | 0.00 | 0.01 |
grepping -fwords/4.txt
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.14 | 0.14 | 0.14 | 0.14 | 0.27 | 0.28 | 0.14 | 0.26 | 0.00 | 0.00 |
rg | 0.22 | 0.22 | 0.23 | 2.44 | 175.62 | 181.22 | 0.21 | 177.81 | 0.00 | 0.04 |
ggrep | fail | fail | fail | fail | fail | fail | fail | fail | fail | fail |
grepping Sherlock|Holmes
elapsed real time (s)
search | --json | --csv | --xml | --hex |
---|---|---|---|---|
ugrep | 0.01 | 0.01 | 0.01 | 0.01 |
rg | 0.02 | fail | fail | fail |
ag | 0.33 | fail | 0.33 | fail |
grepping flop
elapsed real time (s)
search | --replace=flip |
---|---|
ugrep | 0.01 |
rg | 0.01 |
grepping ^$
elapsed real time (s)
search | -nA9 | -nB9 | -nC9 | -winA999 | -winB999 | -winC999 |
---|---|---|---|---|---|---|
ugrep | 0.11 | 0.12 | 0.13 | 0.13 | 0.15 | 0.13 |
rg | 0.11 | 0.12 | 0.12 | 0.66 | 0.67 | 0.66 |
ag | 0.48 | 0.59 | 0.59 | fail | fail | fail |
ggrep | 0.17 | 0.21 | 0.19 | 3.03 | 3.18 | 3.14 |
grepping begin|end
elapsed real time (s)
search | -nA9 | -nB9 | -nC9 | -winA999 | -winB999 | -winC999 |
---|---|---|---|---|---|---|
ugrep | 0.07 | 0.06 | 0.10 | 0.12 | 0.15 | 0.12 |
rg | 0.05 | 0.05 | 0.07 | 0.14 | 0.15 | 0.14 |
ag | 0.99 | 1.10 | 1.09 | 0.73 | 0.84 | 0.82 |
ggrep | 0.22 | 0.23 | 0.25 | 0.77 | 0.82 | 0.78 |
grepping abc[a-z0-9]+
elapsed real time (s)
search | -n | -no | -wn | -win | -wino | -c | -wic | -l | -wil | |
---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.03 | 0.03 | 0.02 | 0.02 | 0.02 | 0.02 | 0.01 | 0.02 | 0.00 | 0.00 |
rg | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.01 | 0.02 | 0.00 | 0.00 |
ag | 1.39 | 1.39 | 0.53 | 0.43 | 0.43 | 0.35 | 0.11 | 0.11 | 0.11 | 0.11 |
ggrep | 0.13 | 0.14 | 0.24 | 0.23 | 1.49 | 1.62 | 0.13 | 1.49 | 0.00 | 0.05 |
grepping FIXME|TODO
elapsed real time (s)
search | -n | -nr | -wn | -wnr | -win | -winr | -wino | -winor | -wic | -wicr | -wil | -wilr |
---|---|---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.02 | 0.02 | 0.02 | 0.03 | 0.03 | 0.03 | ||||||
rg | 0.09 | 0.09 | 0.09 | 0.09 | 0.09 | 0.09 | ||||||
ag | 0.07 | 0.07 | 0.06 | 0.06 | 0.06 | 0.06 | ||||||
ggrep | 0.11 | 0.13 | 0.18 | 0.18 | 0.17 | 0.16 |
grepping char|int|long|size_t|void
elapsed real time (s)
search | -n | -nr | -wn | -wnr | -win | -winr | -wino | -winor | -wic | -wicr | -wil | -wilr |
---|---|---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.04 | 0.04 | 0.04 | 0.04 | 0.04 | 0.03 | ||||||
rg | 0.09 | 0.08 | 0.09 | 0.07 | 0.08 | 0.08 | ||||||
ag | 0.32 | 0.24 | 0.23 | 0.19 | 0.06 | 0.06 | ||||||
ggrep | 0.17 | 0.22 | 0.32 | 0.42 | 0.29 | 0.13 |
grepping ssl-?3(\.[0-9]+)?
elapsed real time (s)
search | -n | -nr | -wn | -wnr | -win | -winr | -wino | -winor | -wic | -wicr | -wil | -wilr |
---|---|---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.02 | 0.02 | 0.03 | 0.03 | 0.04 | 0.02 | ||||||
rg | 0.09 | 0.09 | 0.09 | 0.09 | 0.09 | 0.09 | ||||||
ag | 0.07 | 0.07 | 0.07 | 0.07 | 0.07 | 0.07 | ||||||
ggrep | 0.10 | 0.11 | 0.12 | 0.12 | 0.10 | 0.10 |
grepping _(RUN|LIB|NAM)[A-Z_]+
elapsed real time (s)
search | -n | -nr | -wn | -wnr | -win | -winr | -wino | -winor | -wic | -wicr | -wil | -wilr |
---|---|---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.19 | 0.19 | 0.19 | 0.19 | 0.23 | 0.20 | ||||||
rg | 0.77 | 0.77 | 0.76 | 0.76 | 0.77 | 0.77 | ||||||
ag | 0.70 | 0.70 | 0.70 | 0.71 | 0.71 | 0.71 | ||||||
ggrep | 0.49 | 0.57 | 0.62 | 0.62 | 0.58 | 0.54 |
grepping String|Int|Double|Array|Dictionary
elapsed real time (s)
search | -n | -nr | -wn | -wnr | -win | -winr | -wino | -winor | -wic | -wicr | -wil | -wilr |
---|---|---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.24 | 0.22 | 0.25 | 0.25 | 0.25 | 0.22 | ||||||
rg | 0.74 | 0.74 | 0.71 | 0.69 | 0.73 | 0.75 | ||||||
ag | 1.06 | 0.74 | 0.89 | 0.80 | 0.64 | 0.64 | ||||||
ggrep | 0.61 | 0.75 | 1.59 | 1.82 | 1.52 | 0.64 |
grepping (class|struct)\sS[a-z]+T
elapsed real time (s)
search | -n | -nr | -wn | -wnr | -win | -winr | -wino | -winor | -wic | -wicr | -wil | -wilr |
---|---|---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.19 | 0.19 | 0.20 | 0.20 | 0.23 | 0.20 | ||||||
rg | 0.76 | 0.77 | 0.77 | 0.76 | 0.76 | 0.77 | ||||||
ag | 0.67 | 0.67 | 0.65 | 0.65 | 0.66 | 0.66 | ||||||
ggrep | 0.63 | 0.71 | 0.88 | 0.89 | 0.83 | 0.79 |
grepping for\s[a-z]+\sin
elapsed real time (s)
search | -n | -nr | -wn | -wnr | -win | -winr | -wino | -winor | -wic | -wicr | -wil | -wilr |
---|---|---|---|---|---|---|---|---|---|---|---|---|
ugrep | 0.20 | 0.20 | 0.20 | 0.20 | 0.22 | 0.20 | ||||||
rg | 0.76 | 0.76 | 0.76 | 0.77 | 0.76 | 0.76 | ||||||
ag | 0.67 | 0.70 | 0.70 | 0.70 | 0.68 | 0.69 | ||||||
ggrep | 0.59 | 0.60 | 0.77 | 0.78 | 0.72 | 0.65 |
grepping landsnail
elapsed real time (s)
search | -z | -zwin | -zc | -zwic | -zl | -zwil |
---|---|---|---|---|---|---|
ugrep | 1.97 | 1.97 | 1.98 | 1.97 | 0.28 | 0.28 |
rg | 1.99 | 1.99 | 1.99 | 2.00 | 0.27 | 0.27 |
ag | fail | fail | fail | fail | fail | fail |
grepping landsnail
elapsed real time (s)
search | -z | -zwin | -zc | -zwic | -zl | -zwil |
---|---|---|---|---|---|---|
ugrep | 0.30 | 0.30 | 0.30 | 0.30 | 0.04 | 0.04 |
rg | 0.29 | 0.29 | 0.29 | 0.29 | 0.04 | 0.04 |
ag | fail | fail | fail | fail | fail | fail |
grepping landsnail
elapsed real time (s)
search | -z | -zwin | -zc | -zwic | -zl | -zwil |
---|---|---|---|---|---|---|
ugrep | 0.05 | 0.05 | 0.05 | 0.05 | 0.01 | 0.01 |
rg | 0.07 | 0.08 | 0.07 | 0.08 | 0.01 | 0.01 |
ag | fail | fail | fail | fail | fail | fail |
grepping landsnail
elapsed real time (s)
search | -z | -zwin | -zc | -zwic | -zl | -zwil |
---|---|---|---|---|---|---|
ugrep | 1.08 | 1.09 | 1.08 | 1.08 | 0.15 | 0.15 |
rg | 1.11 | 1.12 | 1.11 | 1.11 | 0.16 | 0.15 |
ag | fail | fail | fail | fail | fail | fail |
grepping landsnail
elapsed real time (s)
search | -z | -zwin | -zc | -zwic | -zl | -zwil |
---|---|---|---|---|---|---|
ugrep | 0.11 | 0.12 | 0.11 | 0.12 | 0.01 | 0.01 |
rg | 0.10 | 0.11 | 0.10 | 0.11 | fail | fail |
ag | fail | fail | fail | fail | fail | fail |
grepping FIXME|TODO
elapsed real time (s)
search | -z | -zwin | -zc | -zwic | -zl | -zwil |
---|---|---|---|---|---|---|
ugrep | 0.20 | 0.20 | 0.21 | 0.21 | 0.20 | 0.20 |
rg | fail | fail | fail | fail | fail | fail |
ag | fail | fail | fail | fail | fail | fail |
grepping FIXME|TODO
elapsed real time (s)
search | -z | -zwin | -zc | -zwic | -zl | -zwil |
---|---|---|---|---|---|---|
ugrep | 0.06 | 0.07 | 0.07 | 0.08 | 0.06 | 0.07 |
rg | fail | fail | fail | fail | fail | fail |
ag | fail | fail | fail | fail | fail | fail |
grepping FIXME|TODO
elapsed real time (s)
search | -z | -zwin | -zc | -zwic | -zl | -zwil |
---|---|---|---|---|---|---|
ugrep | 0.19 | 0.19 | 0.20 | 0.20 | 0.19 | 0.19 |
rg | fail | fail | fail | fail | fail | fail |
ag | fail | fail | fail | fail | fail | fail |