_______________________________________________
dev-platform mailing list
dev-pl...@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform
Searchfox is the best thing ever. It made a huge difference in the speed and ease with which I can query the codebase and get the answers I need.
My understanding is that Bill achieved a lot of the performance and correctness wins over dxr with different architectural choices, and by using Rust. I think the results validate his design choices, and I think it is very reasonable for him to have started from scratch in order to experiment without needing to align with the dxr roadmap.
I would be thrilled if dxr could incorporate the technology in searchfox or somehow achieve similar performance and features in some other way. But until that is shown to be possible, the existence of searchfox is a huge win for gecko hacking, and I am very grateful for the work Bill put into it (largely on his own time, iiuc).
bholley
I'm going to sound negative, but why? Or more precisely, why not
contribute to DXR to add those features that you implemented in
searchfox that DXR doesn't have?
MXR is already taking too long to fade out of existence, do we really
want yet another different tool?
Mike
I'm going to sound negative, but why? Or more precisely, why not
contribute to DXR to add those features that you implemented in
searchfox that DXR doesn't have?
MXR is already taking too long to fade out of existence, do we really
want yet another different tool?
Mike
Hi everyone,
I would like to announce a new tool I've been working on for source
code searching called Searchfox (http://searchfox.org). If you use MXR
or DXR, I recommend you try Searchfox. Here are some of the benefits:
- Besides C++ code, Searchfox indexes JavaScript, XBL, and IDL. You
can search by property name and, in some cases, qualified property
name (e.g., SessionStore.duplicateTab). IDL files link to both JS
and C++ implementations and users.
- Blame in Searchfox is fast and easy. Every file includes blame
information in a gray bar on the left side, and walking through the
blame history takes only one click per revision. Each file in the
blame chain downloads quickly, and blame goes all the way back to
1998. Say goodbye to the frustration of reaching "Free the
(distributed) Lizard" at hg.mozilla.org and finding that GitHub
blame times out!
- Searchfox jumps to the actual definition of methods rather than the
header file declaration.
- C++ template handling is a little better, files download a little
quicker, and other smaller improvements.
If you would like to try out Searchfox, I recommend that you change
your keyword searches to point to it. Otherwise it's too easy to
forget and revert to muscle memory.
Keyword search:
http://searchfox.org/mozilla-central/search?q=%s
Keyword search to find a particular file:
http://searchfox.org/mozilla-central/search?q=&path=%s
Some help on using Searchfox can be found at
http://searchfox.org. Also, you can see some screenshots at my blog:
https://billmccloskey.wordpress.com/2016/06/07/searchfox/
Also, here are some reasons not to use Searchfox:
- You frequently look at repositories besides
mozilla-central. Searchfox only handles m-c.
- You like MXR's ability to sorta index all platforms. Like DXR,
Searchfox uses a clang plugin that only analyzes Linux64 debug
builds. I'm very eager to fix this problem, but it will take some
time. Full-text search finds everything, of course.
-Bill