티스토리 뷰
병렬 스트림 ( Parellel Stream )
스트림(Stream) 요소를 특정 단위(Chunk)로 작업을 분할하여 처리 할 수 있게 하는 방법이다.
특징
- 병렬 처리는 사용 방법에 따라 성능에 악영향을 가져오기도 한다. 대표적으로 잦은 박싱•언박싱, 데이터의 순서가 중요한 경우 또는 소량에 데이터를 처리할 때는 적합하지 않다.
- 올바른 자료구조를 사용해야 한다. ( ArrayList 🅾️ LikedList ❌ )
- 요소의 순서가 중요하다면 순차 스트림이 병렬 스트림에 비해 성능이 좋을 수 있다.
- 박싱•언박싱 과정에 오버헤드가 상당하기 때문테 특화 스트림(IntStream 등)을 사용하는 것이 좋다.
- 내부적으로 ForkJoinPool 사용한다.
사용 방법
- parallelStream 을 통해 병렬 스트림으로 변경하여 작업을 진행할 수 있다.
- 특화 스트림 (LongStream, IntStream 등)을 사용하여 박싱•언박싱으로 낭비되는 비용을 막을 수 있다.
참조
'BackEnd > Java&Kotilin' 카테고리의 다른 글
서비스 디스커버리(Service Discovery) 는? (0) | 2022.08.25 |
---|---|
[Java] 생성자(Producer)-소비자(Consumer) Pattern (0) | 2022.08.24 |
[Kotilin] 변수와 함수 선언방법 (0) | 2022.08.16 |
[Java] 자바의 에러와 예외 (0) | 2022.08.15 |
[Java] 람다 ( Lambda ) 와 캡쳐링 (0) | 2022.08.09 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- RestAssured
- 외부 단편화
- 정적 타입 언어
- Session
- 동적 디스패치
- 클린 아키텍처
- 메모리 파편화
- 컴포짓 패턴
- 세션 불일치
- OOP
- Memory Fragmentation
- pool
- 육각형 아키텍처
- multimap
- ATDD
- 메모리 단편화
- java
- Clean Architecture
- Sticky Session
- pass by reference
- 수직 분할
- pass by value
- 뾰족함
- 동적 타입 언어
- 수평 분할
- 장애 해결기
- SpringBoot 2.2
- Object Pool
- 객체 풀
- 내부 단편화
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함