As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I am reading a few articles on memory leaks. I came across some of the tools like:
perfmon+debugdiag which is default windows tool
Sleepy
AMD code analyst
Including a debug_new in a stadx.h file for C++
wingdb with SOS dll
also some paid tools.
I wanted to know if perfmon+debugdiag is enough to detect all the memory leaks?. Or are there other tools that are better in some cases. I wanted to know when to use what.
Suppose I have a C# application which calls 3rd party unmanaged dll. How do I find the leak in the 3rd party DLL ?
The best tool by far I have used so far for this task is the .NET Memory Profiler.
A very good tool for this purpose is Red Gate's ANTS Memory Profiler: http://www.red-gate.com/products/dotnet-development/ants-memory-profiler/features/
I have succesful used it only for managed DLLs, but it can profile COM+ applications too.
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I have done some digging and poking and have come up short. I am looking for a freeware tool that I can give to my users to set Large Address Aware after I have given my application.
Background:
I work on a piece of software that has ~500 users. A small number (maybe 25?) of these users are running into memory problems when doing multiple large searches. The application is 32bit and is being run on everything from Win XP machines with 2 gigs of ram (if they are lucky) to users who are running 64bit Windows 7 with 4+ gigs of ram.
My team considered setting LAA after compile using the post build events, but a few of the websites I came across said there could be problems on older systems. If this information is wrong though and it would work with the old (small amount of ram) machines I wouldn't need the tool.
Thanks all.
Personally I like CFF Explorer. It can mark programs LAA as well as a ton of other features.
http://www.ntcore.com/exsuite.php
A quick google search turned up this, http://www.techpowerup.com/forums/showthread.php?t=112556.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Java and C# are pretty much identical, both have garbage collectors, similar memory models (well, at least compared with C++), similar memory allocation (I think) but Java is used fairly often in low latency applications (not as much as C++) whereas C# isn't really..
Are there any technical reasons why C#, even though it is very similar to Java, is not used in these environments? Are there differences in the memory model etc? Is it because Java has different JVMs/Garbage collectors? Better tuning parameters?
EDIT: After one of the comments below I believe the answer to this (closed) question is that C# limits the system to being Windows-based. Linux allows tuning the server to context-switch far less and therefore provider greater low latency opportunities, rather than this being about the C# language-specifics itself.
Q: How can you possibly expect a valid answer to a false premise?
Relevant links:
http://msdn.microsoft.com/en-us/magazine/gg232761.aspx
http://www.elitetrader.com/vb/printthread.php?threadid=204368
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
Is it just a matter of preference and familiarity or the language makes an actual difference?
Both are treated as first-class supported languages in terms of the Kinect SDKs, but the C# version is I think just a wrapper around the C++ version.
Standard managed C# vs unmanaged C++ arguments apply from this point forwards.
My preference? I know C# very well and am comfortable using it, so I'd start with that. If I identify performance issues because I used C# I can tackle those later on, but I seriously doubt that would ever happen.
Don't forget, you could always dip into unsafe C# in order to improve performance on any image processing logic you have - and still keep the managed support.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
What is the most mature .NET MPI implementation? A quick google search turned up the two below, but I'm not familiar with either of them. I believe the first item (mpi.net) is based on Microsoft MPI. Any thoughts?
http://www.osl.iu.edu/research/mpi.net/
http://www.purempi.net/
MPI.NET's FAQ says
On Unix, however, MPI.NET adapts itself to the native MPI detected at configure time, and can work with (at least) Open MPI, LAM/MPI, and MPICH2.
although on Windows it appears to be a completely managed solution. AFAICT, Pure Mpi.NET is only a managed solution.
I haven't used either of these implementations -- in fact, it's been a while since I've used any MPI -- but I would suspect that MPI.NET has a higher likelihood of overall stability since it will actually use the "tried-and-true" Unix implementations when available. Those Unix implementations have been in the field for a much longer time, and as such are generally less likely to be buggy -- or at least if there are bugs, they are probably well-known by now.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm looking to make calls out to a subversion repository, but I would like to write it in C#. Does anyone know of any good libraries?
Have a look at SharpSVN. This is an open-source binding of the Subversion Client API for .Net 2.0 applications.
For example, this library is used by the AnkhSVN Visual Studio Add-In.
I recommend you look at the Tortoise SVN source code.
It is mostly in C++, but since it is all done in VS, it should be easy to wrap up and use much of the code again.
You can also try SubversionSharp if you want less heavy lifting (however it is not yet a stable release, so be cautious).
How about SubversionSharp.