Thursday, 27 November 2014

Troubleshooting startup performance issues for Visual Studio.

This is a very good blog post about troubleshooting startup performance issues for Visual Studio:

http://startbigthinksmall.wordpress.com/2011/11/08/activity-log-profiler-find-out-which-extension-is-slowing-down-your-visual-studio/

In summary, start VS with the /log flag:

"C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe" /log

(11.0 is for VS 2012, will need to be different for other versions of course).

Also download this xsl file:

https://github.com/lcorneliussen/ActivityLogProfiler/raw/master/ActivityLogProfiler.xsl 

and place it into folder:

%AppData%\Roaming\Microsoft\VisualStudio\xx.x (version number) 

Then delete the original xsl file ActivityLog.xsl, and make a copy of the downloaded xsl file, then rename that copy as the original (ActivityLog.xsl). We want to keep a copy of the downloaded one, because each VS startup overwrites the .xsl....

Then open the ActivityLog.xml file with internet explorer and examine the startup information.

Tuesday, 11 February 2014

duplicate code detection

This seems like a stable project in working condition, it is worth a test. http://sourceforge.net/projects/pmd/

Another one that produces fancy graphs, but probably requires more reading of the documentation in order to actually understand what the output means http://www.ccfinder.net/ccfinderxos.html

Also interesting tool to try is the successor to Microsoft Labs PEX, Microsoft CodeDigger

Microsoft CHESS tool for concurrency testing

Monday, 12 August 2013

performance comparison ramdisk vs ssd

ok being the performance freak that I am, I wanted to know how much faster is a ramdisk vs an SSD (if it is at all of course). So I compared my ramdisk running on BondDisk, vs my Samsung 840 Pro (which runs at almost half speed thanks to my laptop having only SATA 2 :/)

The results leave no room for doubt... ramdisk all the way, for performance critical applications... almost 10 times faster... now if only BondDisk could create a bigger ramdisk...


Ramdisk (BondDisk)


Samsung 840 Pro on SATA2

Monday, 5 August 2013

svn 1.8 upgrade working copy

So I have decided to update my tortoise svn from 1.7.x to 1.8.1 today, and I couldn't use the working copies as the new client is not backwards compatible. Turns out that I just had to restart my computer to complete the installation (duh) and after that there was a new option available when right clicking on the old format working copy:


Selecting the first option, shows the following window:


All we have to do is to choose the first option, and our old working copy is upgraded to the new 1.8.x format.

Please note that this is a one way operation, so once you upgrade you can't go back to 1.7.x

Happy coding

Friday, 2 August 2013

move avira logfile location

so since it seems impossible to move the file location (means change the settings in avira that determine where the logfiles is located by default), and I have an SSD that I want to protect from too many writes, I am using my ramdisk on drive Z:

first I had to stop avira real time scan, and create the directory z:\temp\avira\logfiles

then I moved all the files from the default avira logs directory C:\ProgramData\Avira\AntiVir Desktop\LOGFILES to the ramdisk folder

then I deleted the default avira logfile location, and created a symbolic link instead:

mklink /D  "C:\ProgramData\Avira\AntiVir Desktop\LOGFILES" z:\temp\avira\logfiles

This seems to work and I don't see many avira logfile writes in process monitor any more.

Would have been possible to move the windows temp folder setting to the ramdisk, but then we would have to keep backing this up on hard disk at shut down (or even periodically if we are afraid of power cut), so that the contents don't get lost between restarts, and we don't really want to do that, as it would add many more disk writes and would slow down the system in general, especially during start up and shut down.

PS: I had to modify my ramdisk to always load a fixed image at start up, which contains the above path. Otherwise, at initialisation, the ram drive is always empty, and then avira can't find its temp file, which means it can't start its real time scanner.