Mostrando entradas con la etiqueta high performance. Mostrar todas las entradas
Mostrando entradas con la etiqueta high performance. Mostrar todas las entradas

martes, julio 12, 2011

Martin Fowler analiza la arquitectura de LMAX

martes, julio 12, 2011 por Martín

Allá por Enero, escribía sobre la arquitectura de LMAX, una empresa que había desarrollado una aplicación para operar en mercados de derivados pero no sólo orientada a traders sino también al usuario final, y que presentaba unos números impresionantes. En InfoQ publicaron un video muy interesante donde los creadores de la arquitectura la explicaban en detalle.

Un amigo me ha pasado hoy este enlace, donde el mismísimo Martin Fowler ha hecho un análisis mucho más detallado sobre la arquitectura, complementado por notas que ha intercambiado por email con los autores. Si os interesa el tema de la escalabilidad y la computación de alto rendimiento entonces es un artículo que no os debéis perder.

domingo, diciembre 26, 2010

Escribiendo micro-benchmarks con jmicrobench

domingo, diciembre 26, 2010 por Martín

Tal y como escribía hace unos días, mi opinión es que los microbenchmarks no son una técnica recomendada para sacar conclusiones sobre el rendimiento global de nuestros programas.

Sin embargo sí que existe una serie de circunstancias en las que es importante el conocer el rendimiento de tu lógica de negocio. Por ejemplo cuando estamos trabajando en sistemas que requieren procesar una gran cantidad de transacciones por segundo. Imaginaros quizás un sistema de pagos por Internet, o el software de una casa de apuestas, o la línea de almacén de un gran fabricante de lo que sea.

En estos casos no sólo es necesario el tener la confianza en que el software va a soportar el volumen esperado sino que es necesario garantizarlo. ¿Cómo lo podemos garantizar? Con tests. Pero hacer los tests puede ser complicado. Por eso se hacen útiles frameworks para la creación de microbenchmarks como jmicrobench del que nunca había oido hablar pero que en breve os contaré en otro post como he llegado a el.

jmicrobench es una extensión de jUnit que define un nuevo ejecutor de Tests: PerformanceTestRunner que se encarga de ejecutar nuestros tests y de calcular el número de operaciones por segundo que ejecuta, su media, e incluso de generar gráficas. Un test de rendimiento se crearía de la siguiente forma: