I have used Visual Studio before and it's excellent for C++ type of projects, especially when combined with vim bindings and auto complete / auto suggestion features. Plus, Microsoft C++ Compiler (MSVC) is very well written and maintained, and at many times, I find the compiler warning to be very helpful. I wish I had the luxury of using Visual Studio at work.
Wow this is amazing. It's super fast and has a very easy to follow help page, plus the formatting is pretty awesome. I just did a quick benchmark searching for `kthreadd` using grep and ag and it's magnitudes faster than grep. Thank you for sharing this. I hope I can convince the network admins at my workplace to install this tool.
In addition, A+ for the ag's design for `mmap()` ing files instead reading them into a buffer.
Bench marks:
Using Grep
```bash
$ time grep -Rsn "kthreadd"
...
real 0m25.341s
user 0m5.738s
sys 0m4.074s
```
> I just did a quick benchmark searching for `kthreadd` using grep and ag and it's magnitudes faster than grep.
I'd be careful with that. You may have just tested the awesomeness of linux caches :-)
Yes, it "looks" magnitudes faster:
]$ time grep -Rsn "kthreadd"
...
real 0m26.895s
user 0m3.131s
sys 0m3.151s
]$ time ag "kthreadd"
...
real 0m0.906s
user 0m1.930s
sys 0m1.186s
]$ time rg "kthreadd"
...
real 0m0.860s
user 0m1.756s
sys 0m1.123s
But wait, somehow grep got magnitutes faster too:
]$ time grep -Rsn "kthreadd"
...
real 0m2.961s
user 0m1.979s
sys 0m0.959s
And we can make both ag and rg slower:
]# echo 1 > /proc/sys/vm/drop_caches
]$ time ag "kthreadd"
...
real 0m17.761s
user 0m2.371s
sys 0m2.728s
]# echo 1 > /proc/sys/vm/drop_caches
]$ time rg "kthreadd"
...
real 0m19.276s
user 0m1.859s
sys 0m3.063s