Este artículo proviene de un motor de traducción automática.
Caja de herramientas
Herramientas y técnicas para la generación de perfiles de código .NET
Terrence Dorsey
Descargar el ejemplo de código
El epigrama concisa "optimización prematura es la raíz de todo mal" ha sido diversamente atribuido durante años a Donald Knuth, William Wulf y C.A.R. Hoare. (Parece que Hoare originó la frase, pero Knuth obtiene crédito por popularizarlo. Ver bit.ly/fW1jWE para obtener un resumen de los pensamientos de Knuth sobre el tema.)
Así que lo que hace esto significa para usted, los intrépidos.¿NET developer? ¿Debe ignorar rendimiento y código para contenido de tu corazón? ¿Es mejor seguir los caprichos de IntelliSense y dependen de hardware cada vez más rápido para escalar sus aplicaciones?
Bueno, no.
Una parte importante de las pruebas es asegurarse de la aplicación no sólo se ejecuta sin errores, pero también ejecuta con eficiencia y mejor. Es donde herramientas y técnicas de análisis de código entran en juego. Estos le permite, como parte de la generación y el proceso de pruebas, evaluar su código para construcciones y errores ganador absoluto — que son susceptibles de causar problemas. Obtendrá un mano a mano automatizada que señala directamente a los lugares de su aplicación esa necesidad de refactorización.
Conceptos básicos de generación de perfiles
Un buen lugar para empezar a aprender.Perfilar neto es el artículo del proyecto de código de Paul Glavich, "perfilar el rendimiento de una.Aplicación NET"(bit.ly/fpua6i). No sólo llegar algunos conceptos básicos sobre.NET perfilado, pero Glavich también presenta el ANTS Profiler (que vamos a llegar a un poco más adelante).
Otro gran punto de partida es la entrada en el blog de Amirthalingam Prasanna, "perfilado su.Código de NET"(bit.ly/dDXWsF). Él comienza enumerando 10 razones por qué debería profile el código y, a continuación, le guía por el proceso mediante el generador de perfiles de CLR (bit.ly/eSJyWd).
En el tutorial extensa de Brian Long de Microsoft.NET Framework perfilar las API ".NET Internals: la API de generación de perfiles "(bit.ly/hNEDYP), obtendrá información sobre los contadores de rendimiento, el Monitor de rendimiento y las API pertinentes. También aprenderá a crear sus propias herramientas de generación de perfiles simples para ilustrar cómo funcionan las API.
CLR proporciona ahora una amplia compatibilidad de generación de perfiles, y David Broman se muestra cómo utilizar en su blog post, "generadores de perfiles, en proceso instancias CLR de al lado y un arnés de prueba libre" (bit.ly/dYeRnQ). Asegúrese de leer los archivos del sitio de Broman, hay mucho de gran información allí.
Perfiles obtiene realmente importante cuando estás haciendo alto rendimiento altamente escala programación. Si es por el callejón, retirar el webcast "SC08: Windows HPC: múltiples núcleos paralelos código perfilado en VS2010" en el canal 9 (bit.ly/gyeKPi).
No te pierdas el Blog del equipo de Visual Studio Profiler (blogs.msdn.com/b/profiler) para perfiles de consejos, trucos y anuncios de última hora.
Escribir código más eficiente
Por supuesto, es una forma de evitar el dolor de pruebas, elaboración de perfiles y refactorización repetidamente su código escribir código más eficiente en primer lugar. Aquí hay tres artículos que tratan sobre las mejores prácticas para escribir aplicaciones que, ojalá, necesitará unos menos recorre el profiler para alcanzar la velocidad que espera para:
- "Guía para mejorar el rendimiento de código en.NET: parte I "por Satesh Arveti en C# esquina (bit.ly/gyImk9)
- "Escribir C eficiente y optimización de código C" por Koushik Ghosh en proyecto de código (bit.ly/icnYEi)
- "Escritura de alto rendimiento.NET Code"de Juan A Rodriguez y Simonijt Dutta de Intel (intel.ly/fvweaP)
Herramientas de generación de perfiles
Esta es la columna del cuadro de herramientas, así que vamos a hablar de herramientas. Análisis de software utilidades realizan análisis dinámico del código de la aplicación mientras se está ejecutando. Aquí hay algunas ofertas de libres y comerciales que quiera sacar de un giro.
AMD codeanalyst Performance Analyzer (bit.ly/gAqPeu) es una herramienta gratuita de creación de perfiles de: adivinaron — Advanced Micro Devices Inc. que permite perfil c o C++, Fortran, Java y.Código neto. Está diseñado especialmente para optimizar el código para la ejecución de subprocesos múltiples en chipsets AMD. CodeAnalyst se integra con Visual Studio 2003 hasta 2010 y se ejecuta en sistemas de Windows XP a Windows 7 x 86 y AMD64 arquitecturas.
Analizador de EQATEC (bit.ly/h2hDCF) es un analizador de código diseñado específicamente para hacer tu.NETAS aplicaciones se ejecuten más rápido. Es compatible con el.NET Framework 2.0 y versiones posteriores, Windows Presentation Foundation (WPF), Silverlight y la.NET Compact Framework. También es el primer analizador de ofrecer funcionalidades de generación de perfiles de Windows Phone 7 tanto en el emulador de dispositivos. Existen licencias gratuitas y de pagadas. Consulte el sitio para obtener más información.
Analizador de EQATEC
JetBrains dotTrace (jetbrains.com/profiler) es realmente una colección de dos ligero.NET, aplicaciones de generación de perfiles: dotTrace4 Performance 4 y dotTrace 3.5 memoria. dotTrace permite aplicaciones de destino mediante el.NET Framework 1.0 a 4.NET Compact Framework 3.5 y Silverlight 4. Puede ejecutar análisis de seguimiento, toma de muestras o línea por línea en sistemas locales y remotos. dotTrace se integra con Visual Studio 2005 al 2010. JetBrains actualmente ofrece una prueba gratuita por tiempo limitado y un número de opciones de licencia. Consulte el sitio para obtener más información.
Puerta roja ANTS Profiler de rendimiento (bit.ly/g1yVEt) y ANTS Profiler de memoria (bit.ly/h3JzAX) es otro conjunto de comercial perfilar herramientas que analizan las aplicaciones de formularios Windows Forms, ASP.Aplicaciones Web de NET, SharePoint y Silverlight 4. Con el.NET Framework 4, analizador de rendimiento de las hormigas es compatible con CLR profiling por lo que puede conectar a procesos en ejecución. También puede obtener datos de rendimiento de consultas SQL activadas desde el código. Ambos productos soportan la.NET Framework 1.0 a través de 4 y Windows XP a Windows 7 y se pueden ejecutar directamente desde Visual Studio. Consulte el sitio de la puerta roja de descuento.
SmartBear aqtime Pro (bit.ly/ePmENJ) es un perfiles de rendimiento y memoria y recursos depuración programa para destinados al.Código de NET Framework, Java, JScript y VBScript. Puede utilizar AQtime Pro para ambas aplicaciones de 32 y 64 bits de perfil y el generador de perfiles puede integrarse directamente en Visual Studio 2002 hasta 2010 y entornos de desarrollo de Embarcadero RAD Studio. AQtime Pro proporciona también un depurador programable mediante una arquitectura basada en COM para poder crear generadores de perfiles personalizados. Descargar una prueba gratuita por tiempo limitado, o contacto con Smart Bear para precios actuales.
SmartBear AQtime Pro
SlimTune (code.google.com/p/slimtune) es una herramienta gratuita de perfiles y análisis de performance para.Desarrollo neto. Desarrollo está actualmente en fase beta, y aunque puede dirigir las aplicaciones x 86 y x 64, única basada en la muestra perfiles está disponible. Código fuente está disponible para hack en él mismo.
Software Electric GlowCode (glowcode.com) es otro rendimiento comercial y administrado memory profiler dirigido en 32 y 64 bits, nativo y mixto código escrito en C, C++ o cualquiera.Lenguaje compatible con NET Framework. GlowCode se integra directamente con Visual Studio 2010 modo puede perfilar su aplicación sin salir del IDE. Una licencia de evaluación limitada está disponible junto con licencias de usuario único y flotantes. Visite el sitio Web para obtener más información.
Perfiles de acceso de datos
La capa de datos de la aplicación necesita amor, también. Aquí hay algunas herramientas y recursos para perfiles de acceso a datos.
Si está utilizando SQL Server 2008 R2, Analizador de SQL Server se incluye como parte de la instalación; puede analizar las consultas, instrucciones de Transact-SQL y expresiones y así sucesivamente. Otros grandes recursos para iniciarse en el analizador de SQL Server incluyen:
- "Uso de analizador de SQL Server" en MSDN Library (msdn.microsoft.com/library/ms187929)
- "Introducción al analizador de SQL Server 2008" por Dave Pinal sobre dotnetslackers.com (bit.ly/g5IDA0)
- "Paso a paso: Introducción a SQL Server Profiler" por Susan Harkins en TechRepublic (tek.io/hTV6Kh)
Sin embargo, si utiliza SQL Server 2005 o 2008 Express Edition, no tendrá acceso a las herramientas de generación de perfiles en la versión completa de SQL Server. En ese caso, querrá echar un vistazo a la libre AnjLab open source Analizador de SQL Server Express Edition (bit.ly/eNg5oi).
Entidad marco Profiler (efprof.com) está diseñado para analizar y en tiempo real de acceso a datos en el código mediante Entity Framework de depuración. Es una gran herramienta para descubrir lo que está sucediendo detrás de las escenas. Entidad marco Profiler es un producto comercial, pero puede solicitar una licencia de prueba de 30 días para darle un giro en sus propios proyectos.
Entidad marco Profiler
Prueba de carga de SQL (sqlloadtest.codeplex.com) es un proyecto de CodePlex creado por el equipo de Visual Studio Team System (VSTS) Ranger para generar pruebas unitarias de trazas del analizador de SQL y la reproducción de las llamadas de base de datos de la traza con la prueba de carga de Visual Studio. Es una herramienta útil para pruebas de aplicaciones centrados en datos que no son directamente puede probar la carga.
Por último, no olvide LINQPad (linqpad.net) como una herramienta útil para evaluar las consultas LINQ, así como el código de C# y Visual Basic. Mientras no realmente un generador de perfiles, es una forma práctica de trabajar a través de iteraciones del código fuera del contexto de su proyecto.
Terrence Dorsey es el editor técnico de MSDN Magazine*.*Puede leer su blog en terrencedorsey.com o seguir en Twitter en twitter.com/tpdorsey.