Skip to content

v0.9.28

Pre-release
Pre-release
Compare
Choose a tag to compare
@rpaquay rpaquay released this 04 Feb 00:35
· 99 commits to master since this release

Same new features as 0.9.27, with a bug fix for files change notifications ignored when index is a Chromium repository.

v0.9.27 changes:

  • Implement back off policy when disk activity is very high. Code Search goes in pause/yield mode for about 1 minute before re-scanning the file system. This is useful when a build add/deletes a lot of directories in a very short amount of time.

  • Decrease the file system watcher buffer size from 2MB to 16KB. This is because a 2MB buffer has a noticeable performance impact on the operating system when lots of files changes on a fast SSD. With the new back-off policy in place, we should still support fast build scenarios, but with near zero performance impact.

  • Add a manual pause/resume button in the Code Search tool window. This is useful if more fined grained control is needed.

  • The Index status area in the top-right corner of the Code Search toolwindow is now a clickable button that can be used to display detailed information about the status of the index server.

  • The Index status area now includes the server status

    • Idle means the server is working regularly
    • Busy means the server is busy synchronizing with the file system
    • Pause means the server has been manually paused
    • Yield means the server has backed-off due to heavy disk activity and will restart in the next minute or so.
  • Do not block the Visual Studio UI thread at startup when waiting for the Index Server to start. This is now completely asynchronous, whereas the wait could be a couple of seconds before.

  • Improve performance of the full file system rescan (about 3x faster on SSD drives)

  • Decrease managed heap memory usage. For a index of about 600,000 files and 200,000 directories, the managed heap usage was decreased from from 400MB to 140MB. The native heap usage remains the same (about 2.5GB).

  • Added persistent logging in %LOCALAPPDATA%\VsChromium. Up to 10 files of 2MB files each are use for logging.

    • VsChromium.log is used for information/warning/error level logging.
    • VsChromium.errors.log is used for warning/error level logging only.
  • Improve reliability of incremental index updates. Due to the asynchronous nature of the incremental updates, there was the possibility of ignoring file change events when updating the index. This should be fixed now.

  • Minor changes to the UI of the Code Search toolwindow to make colors work better with Dark and Blue VS themes.