Necesito analizar la sobrecarga de rendimiento de mi lógica programada usando C# debugger. Entonces necesito comparar dos lógicas en mi código. No quiero instalar complementos como Analyze en mi VisualStudio. Quiero analizar el módulo escribiendo funciones especiales. ¿Tenemos alguna de estas funciones predefinidas disponibles en C#? Necesito todas las opciones disponibles para probar que un módulo es BUENO (bueno, quiero decir que lleva más tiempo ejecutarlo) FYI Uso la edición VisualStudio 2010 Professional.Averigüe cuántos milisegundos tiene que ejecutar un programa de C# en su depurador
Respuesta
Si solo quiere medir el tiempo que necesita ejecutar una función, puede usar la clase Stopwatch.
muestra:
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
CallYourFunction();
stopWatch.Stop();
// Get the elapsed time as a TimeSpan value.
TimeSpan ts = stopWatch.Elapsed;
Hacer uso de cronómetro clase portarlo en System.Diagnostics namesapce
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
//instead of this there is line of code that you are going to execute
Thread.Sleep(10000);
stopWatch.Stop();
// Get the elapsed time as a TimeSpan value.
TimeSpan ts = stopWatch.Elapsed; string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}", ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds/10);
entrada completa: Get time of Code Execution Using StopWatch
Si lo que desea es medir la tiempo de ejecución puede usar el Stopwatch clase.
En general, puede beneficiarse de todo en el espacio de nombres System.Diagnostics.
puede escribir una función como esta
CalculateTime()
{
//create timer
Stopwatch sw = new Stopwatch();
//start measuring time
sw.Start();
//your logic you want to measure
//stop recording time
sw.Stop();
//you can calculate result using sw.ElapsedTicks;
}
La herramienta habitual para este trabajo es el generador de perfiles. Si tiene la edición Ultimate o Premium de Visual Studio 2010, puede usar el generador de perfiles integrado siguiendo estas instrucciones: Beginners Guide to Performance Profiling.
simplemente para medir el tiempo con precisión en una aplicación .NET, puede utilizar Stopwatch
:
// you usually need a lot of iterations to get a stable and accurate measurement
int iterations = 10000;
Stopwatch stopwatch = Stopwatch.StartNew();
// It is important to do as little as possible between starting the
// stopwatch and calling your function. If you need to allocate memory
// or do any startup actions, do them before you start.
for (int i = 0; i < iterations; ++i)
{
YourFunction();
}
// Similarly, don't do anything more after your code is done, just get
// the elapsed time immediately.
TimeSpan totalDuration = stopwatch.Elapsed;
TimeSpan durationForEachIteration =
TimeSpan.FromTicks(totalDuration.Ticks/iterations);
- 1. ¿Cuántos argumentos tiene main() en C/C++
- 2. Invocando el depurador desde un programa C
- 3. Cálculo del tiempo transcurrido en un programa C en milisegundos
- 4. Ejecutar otro programa en C++
- 5. ¿Cuántos GB pueden asignar malloc para su programa?
- 6. ¿Cómo ejecutar un programa C en Ubuntu?
- 7. Cadena tiene cuántos parámetros
- 8. ¿Cómo ejecutar un programa y conocer su PID en Linux?
- 9. Ejecutar programa desde dentro de un programa C
- 10. ¿Cómo ejecutar un programa Java desde C#?
- 11. Ejecutar un programa desde ASP.NET C#
- 12. Determinar cuántos campos tiene un objeto Javascript
- 13. Averigüe qué funciones tiene una biblioteca C estática
- 14. ¿Cuántos ServiceContracts tiene un servicio WCF?
- 15. Cómo ejecutar un programa simple C en Eclipse IDE
- 16. ¿Cuántos milisegundos representan "lento", "normal" y "rápido" en jQuery?
- 17. Ejecutar un programa en un foreach
- 18. Dado un número n, averigüe cuántos números tienen el dígito 2 en el rango 0 ... n
- 19. ¿Cuántos bytes tiene una cadena
- 20. ¿Cómo puedo ejecutar un programa externo desde C y analizar su salida?
- 21. Compilar y ejecutar un programa en C en Emacs
- 22. Prueba de unidad en el programa que tiene muchas macros
- 23. Ejecutar un comando Linux en el programa c
- 24. Averigüe el tamaño de un objeto .net
- 25. ¿cómo puedo ejecutar un programa externo en C?
- 26. Eclipse: ¿hay alguna manera de hacer que Eclipse emita los comandos dados para ejecutar su programa?
- 27. C++ Hacer un seguimiento de cuántos segundos han pasado desde el inicio del programa
- 28. Cómo obtener un elemento que tiene: ¿en su nombre?
- 29. ¿Cómo se escribe un programa en C para ejecutar otro programa?
- 30. ¿Cómo compilar un programa C en gcc que tiene archivos de encabezado?
No puede utilizar un depurador para medir la Potencia, se ralentiza programar abajo. Use un perfilador. Compró la licencia incorrecta si no desea usar complementos, VS Prof no tiene un generador de perfiles. –
Hay otros perfiles disponibles, como RedGate ANTS. La mayoría de estos tienen versiones de prueba si quieres darles una oportunidad. –