소스:
https://github.com/julyinsung/thisandthat/tree/master/src/main/java/parallel/example참고:
http://starplatina.tistory.com/entry/%EC%9E%90%EB%B0%94-%EC%8A%A4%ED%8A%B8%EB%A6%BC-APIhttp://starplatina.tistory.com/entry/Java-8-Stream-API-PART-2
환경:
gradle, java1.8
개요:
List의 단어 중복제거를 위해 stream, forkjoin, for문을 이용하여 구현.
List 사이즈는 2,000,000개이고 성능 평가(너무 궁금해서..).
설명:
- 소스링크를 따라가면 3개의 클래스가 존재한다.
ForkJoinSample.java: ForkJoin이용. ForkJoin 게시글 참조
NormalSample.java: For문 이용
StreamSample.java: Stream API이용
- 테스트는 test폴더의 각 테스트 코드 실행. \test\java\parallel\example
For문과 ForkJoin은 For문이 약간 우세, Stream API는 젤 느림.
1.079s(For문)
1.087s(ForkJoin)
1.154s(Stream API)
- 가독성 면으로 볼때는 Stream API가 우세.
Listresult = list.parallelStream() .distinct() .collect(Collectors.toList());
댓글 없음:
댓글 쓰기