public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .
public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .public partial class Default : System.Web.UI. Page { protected void Page_Load( object sender, EventArgs e) { SampleBadMethod1(); SampleBadMethod2(); } private void SampleBadMethod1() { for ( int i = 0; i < 100; i++) { SampleBadSubMethod1(); } } private void SampleBadSubMethod1() { Thread.Sleep(10); } private void SampleBadMethod2() { for ( int i = 0; i < 10000; i++) { SampleBadSubMethod2(); } } private void SampleBadSubMethod2() { Thread.Sleep(1); } } * This source code was highlighted with Source Code Highlighter .
















| VS Profiler | ANTS | dotTrace | EQATEC | |
|---|---|---|---|---|
| Showing relative results of executing methods (in%) | ![]() | ![]() | ![]() | ![]() |
| Show absolute results of executing methods (in seconds, ms, etc.) | ![]() | ![]() | ![]() | ![]() |
| Show the number of method calls | ![]() | ![]() | ![]() | ![]() |
| View source methods | ![]() | ![]() | ![]() | ![]() |
| Comparison of the results of two measurements | ![]() | ![]() | ![]() | ![]() |
| Price | > 5000 $ 1) | from $ 395 2) | from $ 199 3) | free 4) |
built into VS (true to premium and ultimate)
interaction with ADO.NET
capricious, sometimes profiling doesn't start without explanation
The appSettings section should be in the web.config, and not in a separate file, because some service settings are written there, and the developers apparently did not provide for the location of this section in an external file
on a big project and a not very powerful machine, it slows down noticeably
most detailed information on method calls, a bunch of performance counters
in the profile mode, SQL thinks that besides ./SQLEXPRESS servers no longer exist :)
no comparison of two measurement results
most liked the documentation
in the tree view mode, some kind of a mess of numbers, method names, assemblies
It did not start in IIS Application mode, although I did everything according to good documentation.
small and fast, suitable if you do not need to look at performance line by line and do not need source
This minus is a consequence of a plus: less than other competitors have.Source: https://habr.com/ru/post/109418/
All Articles