Benchmark

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

El benchmark es una técnica utilizada para medir el rendimiento de un sistema o componente del mismo, frecuentemente en comparación con el que se refiere específicamente a la acción de ejecutar un benchmark. La palabra benchmark es un anglicismo traducible al español como comparativa. Si bien también puede encontrarse esta palabra haciendo referencia al significado original en la lengua anglosajona, es en el campo informático donde su uso está más ampliamente extendido. Más formalmente puede entenderse que un benchmark es el resultado de la ejecución de un programa informático o un conjunto de programas en una máquina, con el objetivo de estimar el rendimiento de un elemento concreto, y poder comparar los resultados con máquinas similares. En términos de ordenadores, un benchmark podría ser realizado en cualquiera de sus componentes, ya sea CPU, RAM, tarjeta gráfica, etc. También puede ser dirigido específicamente a una función dentro de un componente, por ejemplo, la unidad de coma flotante de la CPU; o incluso a otros programas.

La tarea de ejecutar un benchmark originalmente se reducía a estimar el tiempo de proceso que lleva la ejecución de un programa (medida por lo general en miles o millones de operaciones por segundo). Con el correr del tiempo, la mejora en los compiladores y la gran variedad de arquitecturas y situaciones existentes convirtieron a esta técnica en toda una especialidad. La elección de las condiciones bajo la cual dos sistemas distintos pueden compararse entre sí es especialmente ardua, y la publicación de los resultados suele ser objeto de candentes debates cuando éstos se abren a la comunidad.

Cualidades[editar]

Los benchmark tienen las siguientes funcionalidades:

  • Comprobar si las especificaciones de los componentes están dentro del margen propio del mismo
  • Maximizar el rendimiento con un presupuesto dado
  • Minimizar costos manteniendo un nivel máximo de rendimiento
  • Obtener la mejor relación costo/beneficio (con un presupuesto o unas exigencias dadas)

Tipos de benchmarks[editar]

Sintéticos vs Aplicaciones[editar]

  • Sintéticos: están especialmente diseñadas para medir el rendimiento de un componente individual de un ordenador, normalmente llevando el componente escogido a su máxima capacidad.

Ejemplos:

  • Aplicaciones: herramientas basadas en aplicaciones reales, simulan una carga de trabajo para medir el comportamiento global del equipo.

Bajo nivel vs Alto nivel[editar]

  • Test de Bajo nivel:

Miden directamente el rendimiento de los componentes Ejemplo: el reloj de la CPU, los tiempos de la DRAM y de la caché SRAM, tiempo de acceso medio al disco duro, latencia, tiempo de cambio de pista, etc.

  • Test de Alto nivel:

Están más enfocados a medir el rendimiento de la combinación componente/controlador/SO de un aspecto específico del sistema, como por ejemplo el rendimiento de E/S con ficheros, o el rendimiento de una determinada combinación de componentes/controlador/SO/aplicación. Ejemplo: Velocidad de compresión zip.

Otros tipos de Benchmark[editar]

  • Consumo de energía
  • Cumplimiento con estándares ambientales, contenido de materiales y manejo del final del ciclo de vida del producto
  • Disipación de calor
  • De Juguete: detectar y medir componentes básicos de un computador
  • Redes
  • Reducción de ruido
  • Trabajo compartido: mide el rendimiento en las modernas tecnologías de distribución de procesos
  • Servidores
  • Soporte técnico

Alguno de los programas de Benchmark más populares.