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