Loading user information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading user information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

GoingNative 29: Massive Improvements for Browsing in Large Codebases!

17 minutes, 17 seconds


Right click “Save as…”

Some of you out there, especially those of you who frequently work with large codebases, might have seen this prompt at times while performing a basic browsing operation like Go To Definition or Find All References:

This prompt blocks you from performing those operations, sometimes for more than 5 minutes!

Well, with today's release of Visual Studio 2013 Update 4 CTP 1 (clicky clicky!) you can enjoy huge improvements to this workflow! Join today's [implicit] quartet of Visual C++ folks as we finally reveal the secret behind this super-annoying prompt that blocks you from doing basic browsing operations. We'll show you not only what we did, but also how we went about making these improvements. Use the tips for your own projects; improve away!

Click here to download Visual Studio 2013 Update 4 CTP 1 for the solution scanning improvements!
Check back here for a future "Update 4 update" with the final unblocking touches!


Follow the discussion

  • Oops, something didn't work.

    Getting subscription
    Subscribe to this conversation
  • Ricardo CostaRicardo Costa

    Nice improvement! Have you also tried changing the std::map structure to std::unordered_map? It's free to replace one with another and it usually provides great performance improvements to the find operation as it uses a hash table instead of a tree.

  • PredelnikPredelnik

    Just a funny little note but instead of doing loops in comparison you could do std::lexicographical_compare with reverse iterators.

  • TomasTomas

    The popping yellow bar is going to be very annoying because it moves the text in the editor down and then up again when it disappears. Work it out e.g. by moving the bar to the bottom of the editor or by positioning it over the editor window and it's going to be very useful update. After this I might even consider to use VS without buying Visual Assist first.

  • Vytautas LeonaviusVytautas Leonavius


    Thanks for the suggestion. We actually experimented with std::unordered_map vs std::map for this scenario. However, we did not found consistent or significant improvement across various solutions we tried. The difference was within measurement noise, so we decided to stay with std::map.

    Vytautas/Visual C++ IDE

  • MoncefMoncef

    Why even use a string as the key for the map?
    CRC32 of the path is what I would use.
    Also, there are much better maps than std::map, see the judy array or google sparse hash.

Remove this comment

Remove this thread


Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.