endimiento de perfilado de @Slow EF con mvc-mini-profiler

Cuando creo mi contexto utilizando la función a continuación, el generador de perfiles muestra un aumento de aproximadamente 300 ms con respecto al método de creación de contexto EF (versión 4) estándar. ¿Hay otra forma de hacer esto que tenga un mejor rendimiento? Derrota el propósito de perfilar el rendimiento tal como está.

    public static Models.MyEntities GetContext()
    {
        var profiler = MiniProfiler.Current;
        var sqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnString"].ConnectionString);
        var profiledConnection = MvcMiniProfiler.Data.ProfiledDbConnection.Get(sqlConn, profiler);
        return ObjectContextUtils.CreateObjectContext<Models.MyEntities>(profiledConnection);
    }

Este primero está utilizando la función anterior para crear el contexto. El segundo es usar el método estándar de creación de contexto EF. Aquí está la diferencia en el rendimiento usando el mvc-mini-profiler:

Profiler Contexto EF: 89.1
Algunos DB Hit: 317.9

Contexto EF normal: 0.1
Algunos DB Hit: 7.4

UPDATE 2: hice algunos perfiles en Visual Studio y parece que la operación principal que consume mucho tiempo es MvcMiniProfiler.Helpers.StackTraceSnippet.Get () y dentro hay una llamada a System.Diagnostics.StackTrace..ctor (bool). Esto lleva mucho tiempo en completarse y parece ser la causa del retraso anterior.

Respuestas a la pregunta(1)

Su respuesta a la pregunta