并行Stream的性能测试

        final long count = 200_000_000;
        Random random = new Random();
        //创建2亿条的list
        List<Integer> list = Stream.generate(() -> random.nextInt(20))
                .limit(count)
                .collect(Collectors.toList());

        // 顺序处理
        long startTime = System.currentTimeMillis();
        list.stream()
                .map(n -> n * 2).forEach(e -> {
                });
        long endTime = System.currentTimeMillis();
        System.out.println("顺序处理耗时:" + (endTime - startTime) + "ms");

        // 并行处理
        startTime = System.currentTimeMillis();
        list.parallelStream()
                .map(n -> n * 2)
                .forEach(e -> {
                });
        endTime = System.currentTimeMillis();
        System.out.println("并行处理耗时:" + (endTime - startTime) + "ms");
    }

image.png
在数量非常大的时候使用并行流效率会明显高些~