I’ve tried Eclipse’s search before, and it’s way too slow for my needs. Also, the Eclipse UI has a lot of annoyances since it’s not a native OS X application. It doesn’t obey my keyboard map, for example.
I haven’t seen grepcode before, but it looks like it builds an index. That’s a non-starter for me, since code often changes and I don’t want to wait for an index to get rebuilt before searching. If the tool silently rebuilds the index in the background, it’s even worse. Then I don’t know if the search results are correct or not.
If the tool silently rebuilds the index in the background, it’s even worse. Then I don’t know if the search results are correct or not.
It doesn’t have to mean that. It could respond to your search by walking the directory structure checking last-modification times, comparing them against its index, and updating anything that’s been modified.
I see, that makes sense, but I think that you might be better off with a hybrid approach: build an index first, and do real-time search on all files that have been changed, and thus haven’t been [re-]indexed yet. I’m not sure if any of the existing systems do that, but it’s worth checking out. Of course, if your codebase is relatively small, performance won’t be much of a problem...
An update for those who are curious: Ag is now the 11th most-starred C repository on GitHub. It’s more popular than memcached or Arduino. It will soon surpass XBMC to become #10. People freakin’ love it.
I’ve tried Eclipse’s search before, and it’s way too slow for my needs. Also, the Eclipse UI has a lot of annoyances since it’s not a native OS X application. It doesn’t obey my keyboard map, for example.
I haven’t seen grepcode before, but it looks like it builds an index. That’s a non-starter for me, since code often changes and I don’t want to wait for an index to get rebuilt before searching. If the tool silently rebuilds the index in the background, it’s even worse. Then I don’t know if the search results are correct or not.
It doesn’t have to mean that. It could respond to your search by walking the directory structure checking last-modification times, comparing them against its index, and updating anything that’s been modified.
I see, that makes sense, but I think that you might be better off with a hybrid approach: build an index first, and do real-time search on all files that have been changed, and thus haven’t been [re-]indexed yet. I’m not sure if any of the existing systems do that, but it’s worth checking out. Of course, if your codebase is relatively small, performance won’t be much of a problem...
An update for those who are curious: Ag is now the 11th most-starred C repository on GitHub. It’s more popular than memcached or Arduino. It will soon surpass XBMC to become #10. People freakin’ love it.