Friday, 25 May 2012

VS2011 Analysis Tools Are Good


I've been giving Visual Studio 2011 BETA a try, and... I'm very sad to say... I like it.


There are some things about it which annoy me, for instance I created a new C++ empty project, only to find (by default) the program was linked into the CLR - and I hate the CLR - no big deal, just pop into the options and stop the use of the CLR right?... No, you have to set both the "don't use CLR" options under the General tab, and under the C++ Language General tabs... Setting one should set the other in my opinion.



The biggest, and best addition though - one which must have a fair few vendors of tools for plug-ins quaking in their boots - is the performance profiler and graphing tools.

I'm not going to whittle on about these features, you can go read about them yourself, but I think Microsoft have not really shown off these features properly, here's the code I used to test their implementation of the new std::thread

#include <iostream>
#include <thread>

using namespace std;

void ThreadedFunction ()
{
for (int i = 0; i < 100; i++)
{
cout << i << "\r";
}
}

int main(int argc, char* argv[])
{
    cout << "Hello World" << endl;

    thread t(ThreadedFunction);
    t.join();

    return 0;
}

The reason I tested the thread work out is that I wanted to try out the "Concurrency Visualizer", often times at work I spend a lot of time proving that one artifact in an application is some part of the system breaking in to interrupt my applications... Armed with the Concurrency Visualizer my time wasted doing this will be much reduced...

Here's my full graph....


This is available from the UI, its just a tabbed item in the code environment, and so snug does it look... And very intuitavly, as I've done with music/wave editing software for two decades (and as I've done with the ANTS performance profiler) I can zoom into a specific area of the chart, thus:


And I really really like this feature, i can see how the "other processes" and how the "system process" interrupts my code... I was running this on a dual core virtual machine, so I have two cores shown, but I have tried it on my native 8 core laptop and desktop machines and seen it scale.  I've also tried to compile the C++ program with loops set as SIMD/SSE instructions, and not.  All in all, this analysis tool built in is a great new feature, and I like it.

Otherwise the editing experience is slightly better than on Visual Studio 2010 - which suffered from a slow databasing and updating sequence to generate the intellisense and code completion data for use.  2011 seems to get around that problem, and has loaded, compiled and edited my large project much more smoothly than 2010 did, on the same virtual machine.

I do agree with everyone else though, that the colour pallet, is very washed out... I've not updated to a newer beta though...

No comments:

Post a Comment