• UPDATED: I just remove "case insensitive" as default and now I got better results (https://github.com/golang/go/issues/13288)

    Not "lot faster", but, some faster :).

    For instance, search for pattern "better" in project repo:

    _grep_

    ---------------------------------------------------------

    $ time grep better -rn *

    ...

    0.04 real 0.03 user 0.00 sys

    ---------------------------------------------------------

    _sif_

    ---------------------------------------------------------

    $ time sif better

    ...

    0.01 real 0.00 user 0.00 sys

    ---------------------------------------------------------

    _ack_

    ---------------------------------------------------------

    $ time ack better

    ...

    0.10 real 0.06 user 0.01 sys

    ---------------------------------------------------------

    _ag_

    ---------------------------------------------------------

    $ time ag better

    ...

    0.01 real 0.00 user 0.00 sys

    ---------------------------------------------------------

    I'll try to make tests with goroutines in next week's