Tenemos muchas llamadas de inicio de sesión en nuestra aplicación. Nuestro registrador toma un parámetro System.Type para que pueda mostrar qué componente creó la llamada. A veces, cuando nos molesta, hacemos algo como:Rendimiento de Object.GetType()
class Foo
{
private static readonly Type myType = typeof(Foo);
void SomeMethod()
{
Logger.Log(myType, "SomeMethod started...");
}
}
Como esto requiere obtener el objeto Tipo solo una vez. Sin embargo, no tenemos ninguna métrica real sobre esto. Alguien tiene alguna idea de cuánto ahorra por llamar a this.GetType() cada vez que inicia sesión?
(me di cuenta que podía hacer las métricas a mí mismo sin gran problema, pero bueno, lo que es stackoverflow para?)
Interesante que el índice de referencia de Sam Meldrum a continuación da una diferencia aún menos significativa ... – Gaz
Dado que en mi Eee PC (apenas una potencia) su prueba se ejecuta en solo ~ 2500 ms, supongo que está ejecutando una versión de depuración o ejecutándose debajo del depurador Sin embargo, están haciendo cosas ligeramente diferentes de todos modos. Observe la alineación, etc. –
Y en realidad, su prueba es falsa de todos modos, acaba de notar un error. Agregará un comentario –