Skip to content

Instantly share code, notes, and snippets.

@fernandogodoy
Last active October 5, 2016 18:13
Show Gist options
  • Save fernandogodoy/a1e29a36317f651171e5e9b7899d5df8 to your computer and use it in GitHub Desktop.
Save fernandogodoy/a1e29a36317f651171e5e9b7899d5df8 to your computer and use it in GitHub Desktop.
package com.matera.jud.bu;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
public class Teste {
public static void main(String[] args) {
List<Integer> lista = new ArrayList<>();
List<Integer> listStream = new ArrayList<>();
List<Integer> listParallelStream = new ArrayList<>();
for (int i = 0; i < 9999999; i++) {
lista.add(i);
}
System.out.println(" ======== ");
Long init = 0l;
Long fim = 0l;
init = new Date().getTime();
listStream = lista.stream().collect(Collectors.toList());
fim = new Date().getTime();
System.out.println("Tempo copia utilizando stream = " + (fim - init));
System.out.println(" ======== ");
init = 0l;
fim = 0l;
init = new Date().getTime();
listParallelStream = lista.parallelStream().collect(Collectors.toList());
fim = new Date().getTime();
System.out.println("Tempo copia utilizando parallelStream = " + (fim - init));
System.out.println(" ======== ");
init = 0l;
fim = 0l;
init = new Date().getTime();
lista.forEach(p -> {
if ((p % 2 == 0)) {
p.intValue();
}
});
fim = new Date().getTime();
System.out.println("Tempo para percorrer utilizando foreach = " + (fim - init));
System.out.println(" ======== ");
init = 0l;
fim = 0l;
init = new Date().getTime();
listStream.stream().filter(p -> p % 2 == 0).forEach(p -> p.intValue());
fim = new Date().getTime();
System.out.println("Tempo para percorrer utilizando stream = " + (fim - init));
System.out.println(" ======== ");
init = 0l;
fim = 0l;
init = new Date().getTime();
listParallelStream.parallelStream().filter(p -> p % 2 == 0).forEach(p -> p.intValue());
fim = new Date().getTime();
System.out.println("Tempo para percorrer utilizando parallelStream = " + (fim - init));
System.out.println(" ======== ");
init = 0l;
fim = 0l;
init = new Date().getTime();
listStream.stream().filter(p -> p % 12 == 0).filter(p -> p > 123456).findFirst();
fim = new Date().getTime();
System.out.println("Tempo para encontrar 1 item na lista utilizando stream = " + (fim - init));
System.out.println(" ======== ");
init = 0l;
fim = 0l;
init = new Date().getTime();
listParallelStream.parallelStream().filter(p -> p % 12 == 0).filter(p -> p > 123456).findFirst();
fim = new Date().getTime();
System.out.println("Tempo para encontrar 1 item na lista utilizando parallelStream = " + (fim - init));
}
}
========
Tempo copia utilizando stream = 4352
========
Tempo copia utilizando parallelStream = 499
========
Tempo para percorrer utilizando foreach = 47
========
Tempo para percorrer utilizando stream = 142
========
Tempo para percorrer utilizando parallelStream = 117
========
Tempo para encontrar 1 item na lista utilizando stream = 24
========
Tempo para encontrar 1 item na lista utilizando parallelStream = 12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment