검색결과 리스트
Parallel에 해당되는 글 1건
- 2021.06.30 java 8 정리10
글
java 8 정리10
Java 정리
2021. 6. 30. 20:27
인프런 강의 12일차.
- 더 자바, Java 8 (백기선 강사님)
1. 배열 Parallel 정렬
- Arrays.parallelSort()
> Fork/Join 프레임워크를 사용해서 배열을 병렬로 정렬하는 기능을 제공한다.
2. 배열 정렬 알고리즘
- 배열을 계속 둘로 쪼갠다.
- 합치면서 정렬한다.
3. Sort()와 Parallel() 비교
package me.whiteship.java8to11;
import java.util.Arrays;
import java.util.Random;
import java.util.stream.IntStream;
public class App {
public static <List> void main(String[] args) {
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); //sort는 쓰레드를 1개만 쓴다.(java는 퀵소트를 사용함)
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));
}
}
- serial sorting : 548957
- parallel sorting : 364074
- 알고리즘 시간복잡도는 같다 : O(n logN) 공간 O(n)
'Java 정리' 카테고리의 다른 글
Singleton 패턴, JAVA에서의 응용과 이해 (4) | 2024.01.29 |
---|---|
java 8 정리11 (0) | 2021.07.01 |
java 8 정리9 (0) | 2021.06.17 |
java 8 정리8 (0) | 2021.06.02 |
java 8 정리7 (0) | 2021.05.26 |