Profiler for Visual C++ 2005 - c++

Any recommendations for gratis (i.e. free as in free beer) profilers which can be integrated with Visual C++ 2005? I'm using Very Sleepy right now (which is really nice), but wouldn't mind shifting if there were a better option.

AMD CodeAnalyst is the best I've tried yet.

If you don't mind being a little unconventional, this costs nothing and works just fine.

Edit: you gotta work on your word choice. I missed the "gratis" there. Leaving my answer just because it is an amazing profiler.
If you want a serious solution, get Visual Studio 2005 Team Suite. Also note that the profiler has improved significantly with each new release (2008, 2010), but even in VS2005 it made others seem like half-hearted attempts. In my experience, it is the answer for profiling on the Windows platform.

Related

Performance Profiling with Visual Studio

How can I get Visual Studio to help me optimize my application, or tell me areas of slowness? Thanks
If you have Visual Studio 2013 Professional then you can use the Performance and Diagnostics hub: http://blogs.msdn.com/b/visualstudioalm/archive/2013/07/12/performance-and-diagnostics-hub-in-visual-studio-2013.aspx . This profiler is well integrated in the IDE and I've found it really quick and easy for spotting code hotspots.
If you have the super enterprise edition it's built in (but I haven't used it - and I think it's ability to profile unmanaged code is limited)
Otherwise see What's the best free C++ profiler for Windows?
As another suggestion, I have found the AMD CodeAnalyst a great companion. It integrates with VS2010 very well, and provides detailed breakdown of CPU time on a line-to-line basis. You can zoom in and out to see from a top-level to a function-level. Not to mention it even has in-line disassembly display if you need that extra bit of information!
Totally worth a try.
The Windows SysInternals website has a number of other useful utilities for network management, security, system information and more. Check it out. I’m sure you’ll find something of value.
Here is how it helped me:
Slow Visual Studio Performance … Solved!
I had an odd performance-related issue today. My Microsoft Visual Studio seemed to be taking far too long to perform even the simplest of operations. I Googled around and tried a few ideas that people had such as disabling add-ins or clearing Visual Studio’s recent projects list but those suggestions didn’t seem to solve the problem. I remembered that the Windows SysInternals website had a tool called Process Monitor that would sniff registry and file accesses by any running program. It seemed to me that Visual Studio was up to something and Process Monitor should help me figure out what it was. I downloaded the most recent version, and after fiddling around a bit with its display filters, ran it and to my horror, I saw that Visual Studio was so slow because it was accessing the more than 10,000 folders in C:\Users\krintoul\AppData\Local\Microsoft\WebSiteCache on most IDE operations. I’m not sure why there were that many folders and moreover, wasn’t sure what Visual Studio was doing with them, but after I zipped those folders up and moved them somewhere else, Visual Studio’s performance improved tremendously.

Visual C++ 2008 Express Or Eclipse Ganymede With CDT

I'm learning C++, and I want to know from those who are very good developers now: What is the best IDE, Visual C++ 2008 Express or Eclipse Ganymede with CDT? Remember that I'm using Microsoft Windows Vista Ultimate. Thanks!
The book that I'm reading is from Deitel: C++ How to Program, 5/e, because I don't know if the code of the book supports Microsoft Visual C++ 2008 Express.
I'm using both regularly now.
Visual studio is easier and more user friendly. I have issues with it though. They force you to do a number of things for reasons the benefit Microsoft and not you. It's free so you can't complain that much. Support is non existent but there's google for help.
Eclipse Gallileo does some difficult things startlingly well, but does some simple stuff startlingly badly. Such as when you compile if there's an error you get no visual indication. You have to open the problems window to see the errors. DOH! Eclipse is nearly as good as visual studio overall and is one of the best when using linux. The new version of the debugger has some very nice new features as well. Support is poor to non existent but there's google for help.
I tried codeblocks. The support was not very good to rude. I found it difficult to do anything serious with.
If you're working on Windows, MSVC++ 2008 Express is probably the one to go with, since it's the platform's native compiler. If you don't have any experience with Eclipse already, definitely go with MSVC. I've found Eclipse to be very counter-intuitive, but that's me, you may love it.
I use codeblocks :) I like it a lot actually. Its interface is really easy to use.
I am having issues with MSVS right now which I will be posting a question about here in a few minutes.
Either will do you fine at this stage, but on balance I think you will find VS 2008 Express a little more straightforward unless you have much Eclipse experience.
That said, once you begin developing your OS you may find that you need to upgrade to the full (non-Express) version.
I use both Visual Studio 2005 Pro (at work) and Eclipse CDT (for personal projects).
I do prefer to use Eclipse because I program meanly Qt applications on Windows with it. The Qt integration module is really good (and available freely at http://qt.nokia.com/).
Once you are there, you could give a try also to Qt's lightweight IDE: Qt Creator.
If you are going to do C++ GUI programming, I think you should definitively go with Eclipse CDT and the Qt Integration plugin. I've programmed (and suffering) several years of MFC before learning Qt and I will never go back!
Hope it helps!

C/C++ Programming in Vista [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
I'm from a Java school, but I'd like to get my hands dirty in C/C++ development as well. Can you suggest:
a Lightweight beginner IDE [Eg: JCreator for Java] (Simple and small download)
a full-blown advanced IDE [Eg: Eclipse for Java] (Every feature and huge download)
should I use GCC or other compilers?
Thanks a lot guys!
1) a Lightweight beginner IDE [Eg: JCreator for Java] (Simple and small download)
Eclipse with CDT (~40 MB download) or Visual Studio 2008 Express edition (2.6 MB download for installer and then tons of stuff that it'll pull from the net) -- it's free. Also, get the SP1. But, I still suggest that you take a look at Visual Studio.
2) a full-blown advanced IDE [Eg: Eclipse for Java] (Every feature and huge download)
Eclipse with CDT (~40 MB download) or Visual Studio 2008 Professional (if you are going to pay).
3) should I use GCC or other compilers?
Yes and no. Depends on your needs. GNU g++ is great to get started with. However, hooking up with CDT may prove to be difficult.
If you intend to do professional Windows programming in near future, it is best to buy the Visual Studio 2008 Pro (and install SP1) and get used to it.
If you have to do it in Vista and if it is Microsoft platform-specific, then there is no better full-blown IDE than Visual Studio. You can download Visual Studio Express Edition for C++ development as a lighter IDE (Not that light though but it is free). Eclipse with GCC works great as well if you want to go cross-platform.
I suggest Code::Blocks. Remember to download the codeblocks-8.02mingw-setup.exe, it includes the GCC compiler and GDB debugger. With it you're ready to start :)
I agree that there is no better Windows IDE for C++ development than Visual Studio. Apart from the free Visual Studio Express, you might also want to consider Visual Studio Standard. It costs about $200 in the US and, among other advantages, allows you to use third-party plugins such as Visual Assist. Those will help you speed up your development even further.
For really light weight, you can go without any IDE. Grab Cygwin, install GCC and start writing code in any text editor (E.g. Crimson Editor). In fact, I suggest you try this to get an idea of how C++ programs are actually compiled behind the scene of an IDE.
You can get Visual Studio Express C++, which is a good package for a beginner. Probably easiest to get started with this.
You can get Eclipse with CDT and use the Cygwin GCC tools, but this is inferior to Visual Studio in certain ways.
Then there's CodeBlock, which I've heard good things about, but don't know how it compares to Visual Studio or Eclipse/CDT.
Do you want to just learn C++ or use C++ to interact with Vista components? The title of your question says Vista but your description is asking which IDE to use.
I agree using Visual Studio C++ Express is a great place to start. It will basically give you the foundation for writing Windows Apps with C++. You said you're from the JAVA world and if you have experience with C# or VB.NET, don't expect all the designers and wizards to be here in C++. Anyone who had done C++ GUI work knows that this isn't always the case. Not to discourage you, there are designers, just not for everything.
If you want to learn how to interact with Windows through C++, the VC++ main site is here, and the how-do-i videos here, also download the feature pack if you haven't installed SP1 yet is here, besides ribbonizing MFC, they've included Boost in the STL, which is awesome. And finally, the guided tours are here.
Also, you don't technically need MFC to write GUI applications, you can call Win32 API functions directly, but MFC is a foundation and will help.
That should get your started. If you need more help, just post a comment.
I agree with the posters above. For microsoft platform specific development, the Visual Studio environment is by far the best. The express editions are nice, but if I remember correctly, they do't come with the win32 SDK, so you still can't make windows GUI programs with it (officially)...
If all you want is to learn C++, gcc/g++ is a great free compiler and an editor with syntax highlighting should be enough. I find an IDE only adds value for larger projects, for simple test/learning projects and IDE is not that neccessary.
You mentioned that that you know about Eclipse for Java. If you have any experience with Eclipse for Java then you can leverage most of that experience towards your C/C++ development by using Eclipse's CDT ( C/C++ Development Toolkit ) plugin.
I strongly encourage using Eclipse with CDT over using Visual Studio because any time spent learning Visual Studio will be lost if you ever want to do any Linux development.
...
I forgot to mention that Eclipse with CDT has all the important features that full version VS has ( and probably more ) ... but doesn't cost any money.
I am rather partial to the Code Gear (formerly Borland) C++ compiler line which I have been using for years.
They have recently release a free 'community' addition called Turbo Explorer
Netbeans is also very good IDE with many futures in it.

Profiler for Visual Studio 2008, C++?

Are there any good, free (or at least reasonably cheap)
profilers for at least native C++ that can integrate with
Visual Studio 2008 Professional?
I looked at DevPartner community edition but they
seem to only support Visual Studio 2003 and Visual Studio 2005.
Failing that are there any good free/cheap profilers in
general that I can get working with VS with relativly little
friction?
At my workplace we use AQTime. It's not free ($600 or 30-day trial) but it really works wonders. I like it because it can handle both native (we do C++) and managed code. It works in stand-alone mode, integrates with Visual Studio, and also works with Borland's IDE (for those C++ Builder and Delphi fans out there).
But I will be watching this question to see if there are any free tools I can use at home =)
Microsoft actually provides a stand-alone verson of the profiler, which you can use from the command-line.
http://www.microsoft.com/downloads/details.aspx?familyid=fd02c7d6-5306-41f2-a1be-b7dcb74c9c0b&displaylang=en
Another vote for AQTime. We've been really happy with it. But of course it's not free as you asked...
I tried CodeAnalyst once but as far as I could see it was doing polling rather than instrumentation, and hence gave fairly crude results. Haven't found any free profilers for Windows that I liked better than that.
Free profiler for VS 2008:
http://unick-soft.ru/Articles.cgi?id=8
It is russian article, but you can use translate google com.
This technique is free, and works well in Visual Studio.
http://supercomputingblog.com/windows/how-to-profile-c-code-in-visual-studio-for-free/ if you want something very simple
Intel's VTune or AMD's CodeAnalyst are both free, I believe.

What are the advantages of VS2008 over VS2005 for C++ development?

We are considering switching from MS Visual Studio 2003 to MS Visual Studio 2005 for our C++ development. I think jumping to 2008 might be better.
In what ways are VS2008 better than VS2005 for C++ development?
Are there any disadvantages of VS2008 over VS2005?
There are very little difference between 2005 and 2008 from native C++ developer point of view. However, if coming from 2003, it makes sense to upgrade directly to 2008 - the conversion process should be almost the same, and you will end up with a slightly better platform. Some new features which are available for 2008 only:
/MP option for multicore compilation (a huge timesaver if you have a mutlicore computer)
some improved debugging options for multithreaded applications
There are also some additional downloadable feature packs for 2008 only:
TR1 libraries
new MFC
To be honest, as far as pure C++ development goes, I don't think there is much between the two, other than VS2008 is the 'latest' release. I didn't notice any significant changes.
However, the latest release of MFC has been given a new lease of life with the addition of the Feature Pack (giving you an MSOffice 2007 look and feel) which might be worth knowing.
The biggest improvement in 2008 for us was in reliability of Intellisense on large solutions. Our project has several million lines of code and Intellisense was unusable in 2003. In 2008 it is improved and works more often than not.
For me the biggest improvement was simply that VS2008 was quite noticeably snappier.
VS2008 contains loads of bugfixes, and is definitely worth the upgrade IMO. Aside from improvements in the UI and related tools, it is much better at dealing with template classes, which didn't always work so well with the VS2005 compiler unless you were using the most basic syntaxes. There are also many other areas which have been improved, but I can't be bothered to find a MS document at the moment detailing these changes. So trust me when I say that there are many. :)
I'd say unless you have some compelling reason to stick with 2005 (ie, backwards compatibility of your code which doesn't build correctly with VS2008), you should definitely push for an upgrade. You can, fortunately, work with multiple versions of VS on a single workstation. You just need to install them sequentiall; ie, VS2005 first, and then VS2008 afterwards.
Then you could test your codebase under VS2008 and see how painful (if at all) a migration to VS2008 would be.
Visual Studio 2008 is an integrated environment that allows you to develop for both Windows CE and Windows. (Previously we had to work on eVC++ 4.0, which was not as nice...)
A disadvantage that I encountered is that the latest installment of the Dinkum STL containers make an assumption that pointers are used, rather than the using allocator::pointer policy. This is a problem for us, because we wrote our own "pointer" class for shared memory use (storing memory offsets instead of absolute addresses). So, we had to use an older STL library. On the upside, the debugger is able display the contents of STL container much more informatively.
I currently use VS 2005. I tried the last beta of VS 2008, and the compiler consistently crashed on my projects, so I stuck with VS 2005. I haven't looked at the release version.
One big reason to choose VS 2008 over VS 2005 is that VS 2005 has a bug with intellisense that causes it to use too much memory. This isn't normally a problem, but when I try using both Visual Assist and Refactor! C++ in VS 2005, intellisense churning brings my system to its knees. This is supposedly fixed in VS 2008. (I have a license for VS 2008, and as soon as my next product release I'm going to give migration a try, mainly for this reason.)
Visual C++ 2008 have dropped support for single threaded runtime library. I don't think it really matters though.