A few reflections on ANTS 3
Uniwares_AS
Posts: 168
As I am evaluating the ANTS profiles I'd like to share some feedback on it. I have to say that I am "Quantify damaged" which I consider until today one of the most useful - not the best in every case, yet the one with the best usability.
Right on the first run of ANTS I was missing one basic measure: program run time. It shows in the summary when the app started, and when the data was collected, but nothing like "program was running for hh:mm:ss.mmm", this is quite a basic information to compare performance runs.
One thing I find highly irritating is the fact that when you click on a method name (or filename) it comes up with the source code window and the combo with the method names is selected. This prohibits using the mouse wheel to scroll through the source code. Gets me every time.
I am also missing the link between the source code window and the summary window, it should highlight the selected method in the summary window.
Talking about clicking in the summary window: why can i click on the method name and the filename to get more info, but not on the time in the very same line? This is misleading - the methods are indicated as links, the filenames are not (as are the times) yet they are clickable.
I am also missing some interactivity in respect to shown methods. I'd like to exclude methods from the results while browsing the results, to eliminate irrelevant data for example.
Also I'd like to see results shown in percentages. This is much easier to compare than absolute values.
In respect to comparisms - is there any chance to compare two resultsets? Show differences?
Another thing that somehow is missing is usability with the keybord. One must use the mouse to see data.
Right on the first run of ANTS I was missing one basic measure: program run time. It shows in the summary when the app started, and when the data was collected, but nothing like "program was running for hh:mm:ss.mmm", this is quite a basic information to compare performance runs.
One thing I find highly irritating is the fact that when you click on a method name (or filename) it comes up with the source code window and the combo with the method names is selected. This prohibits using the mouse wheel to scroll through the source code. Gets me every time.
I am also missing the link between the source code window and the summary window, it should highlight the selected method in the summary window.
Talking about clicking in the summary window: why can i click on the method name and the filename to get more info, but not on the time in the very same line? This is misleading - the methods are indicated as links, the filenames are not (as are the times) yet they are clickable.
I am also missing some interactivity in respect to shown methods. I'd like to exclude methods from the results while browsing the results, to eliminate irrelevant data for example.
Also I'd like to see results shown in percentages. This is much easier to compare than absolute values.
In respect to comparisms - is there any chance to compare two resultsets? Show differences?
Another thing that somehow is missing is usability with the keybord. One must use the mouse to see data.
Comments
Please feel free to add to your post if you notice or come across any other issues you feel are important.
Regards,
Stephen
Red Gate Software
This is wrong in the following sense: I run a profile session, check out the results, switch back and forth between VS and ANTS, making changes to the source code. Now, ANTS shows me already the changed source code, but with the measurements of the original source code, so all the lines are out of sync and the result is useless.
I think the only way around that is taking a snapshot of the source while profiling, or manage the changes (hashing lines for example, diff, etc).
I have been working on a really simple application for comparing results, by the way. I tried to email it to you, but of course your email policy wouldn't accept the attachment. I may put it on the FTP site when I think it's good enough.
I'd be interested to test the compare-results application. Send it over whenever you feel like (rename to .pdf or whatever).
So whats missing is the ability to exclude methods and classes from being displayed. If that would be possible I can for example exlude a method that takes a lot of time, but that is irrelevant for what I want to see. Exluding that method increases visibility of the rest of the results.
Mix that with percentage display and you get much clearer information for selected areas.
But this list does not allow searching or find-by-typing or any other means to locate a method.
One can use the header grouping to limit what is shown, but then again, the filter on the header grouping does not allow typing (beyond what the standard combo offers).
Of course one can use sorting and guessing too. Or Find in the source window, if the method is in the same source file.
I would like to be able to hide not-hit methods from the source window, to minimize information clutter. What good does a method that is not even hit?
Another great information to show in the source window is the total time and hitcount for every method. While this information is of course available in the All Methods tab, its tedious to find it there while you are browsing the source.
Optional hiding of the Line column would be also very welcome.
Entry times showing only 0,0000 might be better not shown at all I think, it does not provide any information (except that the time used was very few) and it clutters the display. Other entries might be overseen (like 0,0800 among some 0,0000)
Would be also nice if Select All would not jump to the end of the source, so one can copy and then continue where left off.
When selecting some lines, it would be useful to show the sum of time used of those lines either as a tooltip or in a statusbar field (a la excel). This would allow to get a timing of only a part of a method.
Another thing that would make browsing easier are clickable method calls. When there is timing information available on a method call, I want to drill down on that method by simply clicking on it in the source window.
Almost always when using the profiler its with the intention to find bottlenecks and optimize code, so I want to see what uses most time, whats slowest.
When I open the all methods view and click on a column it will sort by this column, but always ascending at first. This is great for alphabetic columns but bad for number columns, as they show what I dont want to see. So I have to click a second time to sort descending.
I feel that the columns "Time", "Time with children" and "Hitcount" should by default sort descending when first clicked. It would simplify this view.