배열 병렬 정렬

이영재·2022년 11월 15일
0

parallelSort

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));

/* 실행결과 ex.
	serial sorting took 1076792
	parallel sorting took 614667
* */

/* parallelSort: 
	- 알고리즘의 효율은 같지만 여러 쓰레드로 분산해서 처리하기 때문에 조금 더 빠르게 정렬을 할 수 있다.
	- CPU 같은 리소스나 정렬하는 배열의 크기에 따라서도 달라질 수 있다.
*/



참고

  • 백기선 더 자바, Java 8
profile
왜why를 생각하는 두괄롬이 되자!

0개의 댓글