2009-03-06 13 views
8

Soy nuevo en esto y estoy tratando de aprender.¿Qué es perfilar?

  • ¿Qué es perfilar?
  • ¿Cuáles son las diversas herramientas gratuitas para crear perfiles de .NET, Java EE?
  • ¿Puede Javascript ser perfilado?
  • Si es así, ¿con qué herramienta?
  • Y, por último, ¿cómo funcionan estos perfiladores?

Respuesta

11

El perfilado mide por cuánto tiempo tardan varias partes del código en ejecutarse. Javascript se puede perfilar con Firebug: http://getfirebug.com/js.html

+0

+1 por mencionar Firebug y explicar el perfil. – Ramesh

5

profiling está midiendo los tiempos de ejecución y correlacionándolo con varias clases/métodos/funciones. (Vea el enlace que di a la página de wikipedia para obtener algunos comentarios sobre cómo pueden trabajar los perfiladores)

3

La forma en que se suele utilizar el perfilador es el siguiente:

  1. iniciar el analizador, el fuego de su aplicación utilizando el generador de perfiles.
  2. Use su aplicación por algún tiempo o solo las características de su aplicación que ha identificado como cuellos de botella y desea optimizar.
  3. Una vez que la aplicación está cerrada (o incluso antes de eso), el generador de perfiles puede presentar un desglose de los tiempos de ejecución por función. Algunos también le permitirán obtener un desglose de los tiempos de ejecución por línea o función dentro de una de estas funciones para que pueda ver dónde se usó la CPU la mayor parte del tiempo utilizando un enfoque de arriba hacia abajo.
  4. Por lo general, algunas funciones de la aplicación tardarán un tiempo inusualmente largo en ejecutarse. Después de analizar los resultados de los perfiles, debería poder identificarlos y eliminar los problemas de rendimiento.
4

Piense en los perfiladores como depuradores de errores de duración de ejecución. Los perfiladores también se implementan como depuradores, excepto que en lugar de permitirte detener el programa y husmear, simplemente lo dejan funcionar y llevan un registro de cuánto tiempo se gasta en cada parte del programa. Esto es particularmente útil si tiene algún código que se ejecuta más lento de lo que necesita para ejecutar, ya que puede averiguar exactamente a dónde va todo el tiempo, y concentrar sus esfuerzos en solucionar ese cuello de botella.

Muchos desarrolladores creen que debería nunca optimizar manualmente el código sin utilizar un generador de perfiles.

+0

+1 para explicar cómo funcionan los perfiladores – Ramesh

0

Wikipedia dice:

En la ingeniería de software, análisis de rendimiento, más comúnmente conocida hoy como perfiles, es la investigación del comportamiento de un programa utilizando la información recopilada como el programa ejecuta

Continuar leyendo aquíhttp://en.wikipedia.org/wiki/Performance_analysis.

Por lo tanto, sobre la herramienta de Javascript Firebug (http://getfirebug.com/index.html#install) es una excelente opción.

+1

Me vuelve loco que el análisis del rendimiento y el uso de los perfiladores se consideren lo mismo, o mejor dicho, que la medición del rendimiento y el diagnóstico del rendimiento se consideran lo mismo. –

0

La creación de perfiles es una técnica para medir los tiempos de ejecución y el número de invocaciones de procedimientos.

No obstante, no es la única o incluso necesariamente la mejor forma de localizar cosas que hacen perder tiempo en su código. Look here.


Para un artículo de Wikipedia diferente, prueba http://en.wikipedia.org/wiki/Performance_tuning#Bottlenecks

Para un simple de cómo hacerlo, intente http://www.wikihow.com/Optimize-Your-Program%27s-Performance

0

de perfiles es una medida de tiempo de ejecución a nivel de método (estadísticas funcionales), así como recopilación de información a nivel de tiempo de ejecución, como consumo de memoria, procesador, subprocesos y número de clases (estadísticas no funcionales) cargadas durante un período de tiempo en que se ejecuta la aplicación. Se incluye en el análisis de rendimiento (recopilación de estadísticas funcionales y no funcionales) de la aplicación en cuestión, ejecutada por un usuario. JConsole es una de las herramientas integradas para perfilar aplicaciones Java.

Cuestiones relacionadas