I've been humming and harring over Searchlight for a while now. Version 1 searched the image directly. Version 2 indexed everything. Version 2 was such a huge improvement over Version 1 that it hasn't changed for a while now.
But still, it's a search engine for your image and it was indexing the whole image every time you made the slightest little change anywhere for anything. This felt incredibly icky - yet the rule is: Make it work (version 1), Make it right (version 2), then Make it fast. Even the 'fast' bit isn't that important. It turned out that this re-indexing as you programmed didn't impact most people.
But, indexing could take as long as 10 seconds for some people and this meant that from time to time, you'd miss a search hit you were expecting. The solution to me was obvious - incremental indexing. I knew how to do it, I just never quite got around to doing it - until today.
Searchlight version 3 is new, very new - it may have bugs. If it has bugs, please email me about them. It is an incrementally indexing search engine for your image. It also has a vastly reduced memory footprint. My image was dedicating 10.6mb to the indexes, but now it uses only 2.7mb. I could probably reduce it further if I tried, but that's good enough for now (I hope - if you disagree and have worse stats, please email me).
Searchlight 3xx is not done yet - there is one other piece to the puzzle that I really want. The ThreePaneSelectorsBrowser was created by myself and Steve Aldred when we first came to the world of VisualWorks. Ever since then, it has sat doing its job mostly, until recently when it started to break apart. There have been community contributions to keep it ticking over, but it's missing all the power that comes with Searchlight.
So my goal for Searchlight 3xx is to have a 3PSB-like UI interface. Once that's there, I can officially bury 3PSB and point everyone to Searchlight. At that point, I may even be happy enough with it to suggest it could be a candidate for VisualWorks and ObjectStudio (for those of you in the know, Searchlight is already in use in WebVelocity).
The indexes created by Searchlight have some other interesting implications for the tools in general. It's much faster to lookup the index than it is to search the image - and you can notice an image search when you try to remove a method safely that has many references. Searchlight could help there. Another place it could help is with Intellisense/Autocomplete type behavior, since the indexes are now up to date as soon as you change things.
Happy image searching!