Friday, January 13, 2017

Abstract: Comparison between primitive and object usage. Despite the java evolution, primitive usage has better performance

Este artigo compara a utilização de tipos primitivos e objetos.

public class App {

public static void main(String[] args) {
withLong();
withPrimitive();
}

private static void withLong(){
long start = System.currentTimeMillis();
Long sum = 0L;
for (long i = 0; i <= Integer.MAX_VALUE; i++) {
sum += i;
}
System.out.println(Double.valueOf(System.currentTimeMillis() - start) / 1000);
}
private static void withPrimitive(){
long start = System.currentTimeMillis();
long sum = 0;
for (long i = 0; i <= Integer.MAX_VALUE; i++) {
sum += i;
}
System.out.println(Double.valueOf(System.currentTimeMillis() - start) / 1000);
}

}


Ao executar o programa, constatamos que o uso do primitivo é, na média, 5 vezes mais rápido.

Desta maneira, a recomendação é: se você estiver manipulando uma grande quantidade de registros, como por exemplo, iterando uma lista de valores, de preferência ao primitivo. Se, trata-se de algo pontual, como tratar a idade em um formulário online, utilize o objeto.