Uso de Primitivas en lugar de Wrappers para mejorar rendimiento

El uso de primitivas o de wrappers siempre es un punto de discusión.

Peter Lawrey realiza un análisis en términos de rendimiento y la recomendación es clara: Usar Primitivas.

Para eso ha realizado un benchmarking:

Primero realiza esta prueba con wrappers:

Y obtiene este resultado:

Como se ve se ejecutan 20 GCs en el tiempo de la primera y los tiempos obtenidos:

Haciendo una prueba similar (aunque siendo estrictos la prueba no es la misma, parece que a Peter se le olvidó algo de código :)) con primitivas:

El resultado es radicalmente diferente,

Ya que no se han ejecutado GCs, además los tiempos son mucho menores:

Respuesta

  1. Nos ha jodido que cambia la memoria, como que el grafico representa el heap y las primitivas no van al heap sino que van al stack.
    Evidentemente es mas rapido porque en el primer caso esta haciendo continuamente autoboxing porque el tio ha usado wrappers hasta para el index.Salvo para un bucle donde haces cuentas la diferencia es insignificante.

Deja un comentario