본문 바로가기

Stream2

ParallelStream은 항상 Stream보다 성능이 좋을까? 목차개요자바의 Stream2-1. Sequential Streams2-2. Parallel Streams2-3. ForkJoinFrameWork2-3-1. Splitting Source2-3-2. Common Thread Pool2-3-3. Custom Thread Pool성능에 미치는 영향3-1. 오버헤드3-2. 분할 비용3-3. 병합 비용ParallelStream은 언제 사용하는게 좋을까?결론1. 개요결론부터 말하면, 항상 성능이 좋다고 판단해서는 안된다.단순히 보면 작업을 나누어서 실행하면 항상 더 빠르다고 생각할 수 있지만 이는 병렬로 처리하기 때문에 CPU도 많이 사용하고 몇개의 쓰레드로 처리 할지가 보장되지 않는다.parellelStream 동작 방식과 사용시 고려할 사항에 대해 글을 써보려 .. 2023. 4. 11.
자바8에 추가된 Stream에 대해 알아보자 목차개요Stream 소개2-1. 특징2-2. 중개 연산2-3. 종료 연산2-4. parallelStream결론1. 개요Java8 부터 나온 기능 중 많은 사람들에게 관심을 가졌던 기능 중 하나이다.자바에서는 많은 양의 데이터를 저장하기 위해 배열이나 컬렉션을 사용한다. 이렇게 저장된 데이터에 접근하기 위해서는 반복문이나 반복자(iterator)를 사용하여 매번 새로운 코드를 작성해야 한다. 이렇게 작성된 코드는 길이가 너무 길고 가독성도 떨어지며, 코드의 재사용이 거의 불가능하다.즉, 데이터베이스의 쿼리와 같이 정형화된 처리 패턴을 가지지 못했기에 데이터마다 다른 방법으로 접근해야만 했다. 이러한 문제점을 극복하기 위해서 스트림 API를 도입하였다.스트림 API는 데이터를 추상화해서 다루므로 다양한 방식.. 2023. 4. 10.