¿System.Diagnostics.Stopwatch
cuenta el tiempo durante la espera de la computadora?¿Está consciente el cronómetro en espera/dormir/hibernar de .NET?
15
A
Respuesta
3
sí lo hace.
Si examina el código en el reflector muestra que si no es Stopwatch.IsHighResolution
, a continuación, se utiliza el recuento de paso (en mi entorno, el valor era false
por lo que utilizará DateTime.UtcNow.Ticks
):
public void Start()
{
if (!this.isRunning)
{
this.startTimeStamp = GetTimestamp();
this.isRunning = true;
}
}
public static long GetTimestamp()
{
if (IsHighResolution)
{
long num = 0L;
SafeNativeMethods.QueryPerformanceCounter(out num);
return num;
}
return DateTime.UtcNow.Ticks;
}
+0
Sí, lo hace. Pero muy inexacto. Ver mi respuesta –
3
En realidad, después de un poco de prueba, aparece para contar, pero estaba muy lejos. Esto es lo que hice:
- escribió el código de abajo
- Ran, e inmediatamente poner mi ordenador en sueño modo
- esperamos 10 segundos y traído mi equipo vuelva
El resultado fue un sorprendente Elapsed
tiempo de más de 4 minutos. Lejos. Entonces no usaría esto como ningún tipo de punto de referencia.
Aquí está el código utilicé:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
namespace TestingCode
{
class Program
{
static void Main(string[] args)
{
Stopwatch testing = new Stopwatch();
testing.Start();
Console.WriteLine("Press any key to stop timer");
Console.ReadKey();
testing.Stop();
Console.WriteLine("Elapsed: {0}", testing.Elapsed);
Console.WriteLine("Done!!");
Console.ReadKey();
}
}
}
Cuestiones relacionadas
- 1. ¿Cronómetro cronómetro .Net y multinúcleo?
- 2. ¿Está realmente roto el cronómetro?
- 3. .NET Cronómetro - penalización de rendimiento
- 4. Comprobar si el cronómetro está funcionando
- 5. Cronómetro de Visual C++
- 6. reprogramar el cronómetro en android
- 7. ¿Algo está consciente de un patrón de diseño?
- 8. Creación de perfiles de aplicaciones .NET con Cronómetro
- 9. Cronómetro de alto rendimiento frente a Cronómetro
- 10. ¿Cómo hacer que una aplicación .NET tenga "gran dirección consciente"?
- 11. cronómetro no se detiene en el androide
- 12. Cronómetro en Python
- 13. Clase de cronómetro para Java
- 14. Cronómetro eficiente
- 15. cronómetro JavaFX
- 16. Función de cronómetro en R
- 17. Android: cronómetro como un cronómetro persistente. Cómo establecer la hora de inicio? ¿Qué es el cronómetro "Base"?
- 18. lógica de cronómetro
- 19. Patrón de observador para el cronómetro
- 20. Reinicio del cronómetro
- 21. Contenido consciente de CSS: aplique estilo solo si el contenido está disponible
- 22. Creando un cronómetro en Android
- 23. ¿Se puede usar Cronómetro en el código de producción?
- 24. Cronómetro reiniciable Java
- 25. Android Cronómetro formato
- 26. cómo cambiar el formato del cronómetro?
- 27. Mostrar milisegundos con el cronómetro Android
- 28. Cronómetro para silverlight?
- 29. Comando de fusión de Java consciente
- 30. UIGraphicsBeginImageContext debe ser consciente de Retina?
Interesante pregunta, Solo he usado Cronómetro para los perfiles de los pobres, así que esto nunca se me ocurrió. – Davy8
Buena pregunta ... pruébelo y háganos saber :) –
Como puede ver en la respuesta, este es un comportamiento específico de implementación. El contador está envuelto por la capa de abstracción de hardware del sistema operativo, lo que brinda a los diseñadores de hardware muchas opciones para ahorrar dinero. –