Archive for June, 2009

DPack 2.9.1 released

After long development and testing cycle, the new DPack version 2.9.1 is out. This is a major release with main focus on Solution Browser performance improvements.

There are 3 main Solution Browser areas I concentrated on:
1 - Cache persistence - there is a new Tools|Options dialog, DPack|Solution Browser page options that lets you change solution cache persistence from the default in-memory option to a disk based one. When the disk based persistence’s used, DPack saves solution cache to a file and loads the same file on solution load. Using one of the persistence options should greatly improve performance, especially for large solutions.
2 - Solution caching - due to VS code model being COM based, I had to rework the most time consuming caching logic and move it back on to the main thread, which resulted in great performance improvements. The downside of that is that the initial solution caching and new project added event processing will be accompanied by a modal dialog, forcing you to wait until the caching is complete. This is a small price to pay for improved performance. Special thanks to Eyal Post for his investigative work on this issue.
3 - C++ projects processing - C++ projects processing performance has been significantly improved across the entire set of features and not just Solution Browser.

A few miscellaneous notes:
* DPack’s code base is over 40,000 lines of code now. It seems just yesterday it was about half of that number.
* I ran a survey on dropping VS 2005 support. The survey results show that about half of the participants can part with it. As expected though, the real numbers are much higher and is what confirmed by web site statistics. It clearly shows a steady decline in VS 2005 vs. VS 2008 downloads. So, I’ve decided that VS 2005 will continue to be supported until VS 2010 release, which I think will happen sometime in October-December of 2009 time frame. In other words, once VS 2010 is out, VS 2005 won’t be supported anymore.
* Which finally brings me to VS 2010. As you know, VS 2010 Beta 1 is out. I have taken a quick look at it and it’s basically a moving target at this point. So, I’ve decided to wait until VS 2010 Beta 2 or RC come out before starting on DPack for VS 2010 conversion. Rest assured, VS 2010 support is planned.

And finally, here’s what’s new and fixed in this version:

  • Solution Browser supports cache persistence now, which, when enabled and once the initial caching’s done, hould dramatically increase solution processing performance. Cache persistence option can be configured via Tools|Options dialog, DPack|Solution Browser page.
  • Improved Solution Browser caching performance. To maintain an acceptable level of performance, the initial caching’s accompanied by a modal progress dialog now. Once the initial caching’s done, consequent updates are processed in the background.
  • Added Return column to Code Browser that shows member return type for qualified members such as methods, properties, fields, delegates and events.
  • Improved Code Browser Xaml files handling.
  • Modified Code Browser to show read-only fields along side of properties when properties only command is invoked.
  • Added File Browser feature that allows one to select a file in Windows Explorer without actually opening that file in the editor. One can use Ctrl-Alt-Shift-Enter key combination instead of Enter to engage this feature.
  • Added support for Visual Studio ‘Import and Export Settings’. DPack features should show up in export dialog now, allowing you to backup all configured settings to a file, and restore them at a later time.
  • Added ‘Close All’ document context menu item.
  • Improved all browsers 120 DPI and Large Fonts Windows display setting handling.
  • Improved all browsers C++ projects processing performance.
  • Upgraded Solution Backup to use Zip library #ziplib version
  • Fixed a paste references feature problem with some references not getting processed sometimes.

As always, the new version is available at Enjoy.

Sergey @ USysWare