How can we help you today? How can we help you today?
Bart Read
Hi Scott, Thanks for this. It might be the virus scanner, but I think we'll need to do some deeper investigation into this. To give you an idea of what I see here I ran a typical analysis run with Exception Hunter earlier on, which is heavier weight than some of the apps I profile when I'm trying to implement new functionality (waiting several minutes to see if something is working or not can get a bit tedious, so I know how you feel about all the waiting around). I was going to post this earlier on but I had to leave the office rather abruptly. Anyway, what I got was this (this is with the thread affinity switched on): ANTS Profiler 3, detailed mode, profiler disabled: 3 minutes 50 seconds ANTS Profiler 4, detailed mode: 3 minutes 20 seconds So this isn't quite as dramatic as the differences I have sometimes seen before, but that could be for a number of reasons, such as the fact that Exception Hunter makes significant use of multiple threads, and not just for background processing; there are a couple of places where it breaks up work into chunks and becomes fully parallel. There is also a fairly significant amount of I/O traffic, with a great deal of information being cached on disk, along with a fair amount of handing of chunks of data between different threads. It can also fire off a number of child processes, although I didn't test that functionality this time around. But still, this is a significant and measurable difference. For reference, the analysis I carried out usually takes around 1 minute 30 seconds or so without the profiler attached (that's from memory, I'll time this more accurately tomorrow). At the moment I'm really stumped by what you're seeing, although not much surprises me these days. Discounting the AV software, I wonder if there's anything else that could be having an effect. You don't have anything like YourKit or DevPartner installed do you? I'm pretty sure it was one of these that has caused a problem in the past because it injected some code into every process that slowed everything down to a crawl. On the other hand, it could just be the way the profiler interacts with your application, or you might have found a bug, or who knows. Thanks, Bart / comments
Hi Scott, Thanks for this. It might be the virus scanner, but I think we'll need to do some deeper investigation into this. To give you an idea of what I see here I ran a typical analysis run with ...
0 votes
Hi Scott, I have something for you to try here, although it's possible some of your timings may get a little weird. Exit ANTS Profiler 4, if it's running, and open the PerformanceProfilerSettings.xml file in your favourite text editor (although if it's TextPad, I'd use Notepad instead, because the former has a nasty habit of rendering XML files unreadable). For me this file lives in "C:\Documents and Settings\bart.read\Local Settings\Application Data\Red Gate\ANTS Performance Profiler 4\PerformanceProfilerSettings.xml". The location is slightly different on Vista, under "C:\Users" I think. Now find the UseThreadAffinity option (this isn't exposed through Tools > Options). It looks like this by default: <Property Name="UseThreadAffinity"> <Object Type="System.Boolean">True</Object> </Property> Now change the value to "False": <Property Name="UseThreadAffinity"> <Object Type="System.Boolean">False</Object> </Property> Save the file and then start up ANTS Profiler 4 again. Now try profiling, and hopefully you should see some performance improvement. What this does is to tell ANTS Profiler to allow your process to take advantage of additional CPU cores. Now, because the timers each CPU core in your system aren't synchronized, and because threads can be arbitrarily swapped between CPU cores, this can cause some slightly odd timing artifacts to appear. This shouldn't cause significant problems where methods take a relatively long time to execute though. Let me know if this helps. Thanks, Bart / comments
Hi Scott, I have something for you to try here, although it's possible some of your timings may get a little weird. Exit ANTS Profiler 4, if it's running, and open the PerformanceProfilerSettings.x...
0 votes
Hi Jeff, I'd love to be able to say I'm entirely shocked that things could become that screwed up, but over time I've come to accept the face that performance counters, and the APIs used to access them, are extremely fragile. I am slightly surprised by this, but not as much as you might expect. Now, the performance counters functionality is fairly core to the way the ANTS Profiler UI works, though not to the profiling engine as such, so I think whilst I can say that we'll handle the exception more gracefully than simply falling over, as seems to be the case at the moment, given the late stage of the project, and the other work we have still outstanding, I think it would be entirely wrong of me to promise anything more than that for the 4.0 release. That's not to say that it definitely won't work, but I certainly can't promise that it will, and it may be that we have to push it back to a patch release at a later date. As I said, I'm not really shocked by this, but it is unanticipated, and we hadn't envisaged encountering a problem like this so late in the day, partcularly after such an extensive early access programme. The best thing I can suggest for now is that you attempt to fix your machine's performance counter configuration. You don't say which OS version you're using, but you may find the following helpful (applies to Windows 2000 through 2003 server): http://support.microsoft.com/kb/300956 There's also some additional information in this thread that may prove to be useful: http://channel9.msdn.com/forums/TechOff ... corrupted/ Hope that helps. Thanks, Bart / comments
Hi Jeff, I'd love to be able to say I'm entirely shocked that things could become that screwed up, but over time I've come to accept the face that performance counters, and the APIs used to access ...
0 votes