본문 바로가기
스프링 스터디 (인프런)/더 자바 8

섹션7 배열 병렬 정렬

by 백엔드 개발자 2023. 6. 7.

Arrays.parallelSort()

Fork/Join 프레임워크 사용해서 배열을 병렬로 정렬하는 기능을 제공.

        int size = 1500;
        int[] numbers = new int[size];
        Random random = new Random();
        IntStream.range(0, size).forEach(i -> numbers[i] = random.nextInt());

        long start = System.nanoTime();
        Arrays.sort(numbers);
        System.out.println("serial sorting took " + (System.nanoTime() - start));

        IntStream.range(0, size).forEach(i -> numbers[i] = random.nextInt());
        start = System.nanoTime();
        Arrays.parallelSort(numbers);
        System.out.println("parallel sorting took " + (System.nanoTime() - start));

 

알고리즘의 효율성은 같으나, ( 시간 O(n logN), 공간O(n) )

병렬 정렬이 더 많은 스레드를 사용한다.