forked from Labore/PR2-L
33 lines
931 B
Java
33 lines
931 B
Java
/**Copyright (c) Balzert, H: "Java: Objektorientiert Programmieren"
|
|
* W3L-Verlag Dortmund, 3. Auflage, 2014
|
|
* Sequenzielle vs. parallele Berechnung, S. 347 f.
|
|
*/
|
|
|
|
import java.util.stream.Stream;
|
|
import java.util.List;
|
|
import java.util.stream.Collectors;
|
|
|
|
public class DemoParallel {
|
|
public static void main(String[] args) {
|
|
|
|
double uGrenze = -30.0, oGrenze = +40.0;
|
|
// Bereiche der Zufallszahlen
|
|
// Liste mit 10 Mio. Daten erzeugen
|
|
List<Double> d = Stream.generate(
|
|
() -> (uGrenze + (Math.random() * (oGrenze - uGrenze + 1))))
|
|
.limit(10_000_000).collect(Collectors.toList());
|
|
|
|
long start = System.currentTimeMillis();
|
|
|
|
d.stream()
|
|
.parallel()
|
|
.sorted()
|
|
.filter(wert -> (Math.abs(wert) > 25.0))
|
|
.collect(Collectors.toList());
|
|
|
|
long stop = System.currentTimeMillis();
|
|
|
|
System.out.println("Verbrauchte Zeit in ms: " + (stop - start));
|
|
}
|
|
}
|