← 질문 목록
#256깊이 0

스트림의 지연 연산은 왜 필요한가?

프레임워크기초성능

불필요한 계산을 최소화하여 성능을 최적화하기 때문이다. 모든 데이터를 처리하지 않고 필요한 시점에만 연산을 수행한다.

  1. 데이터 소스
  2. 그다음은 중간 연산입니다. 파이프라인만 구성한다

    중간 연산
  3. 그다음은 터미널 연산입니다. 호출할 때 처리를 시작한다

    터미널 연산

중간 연산은 결과값을 즉시 계산하지 않고, 파이프라인을 구성하는 일종의 설계도만 만든다. 필터링이나 매핑 같은 작업이 누적된다.

터미널 연산이 호출되어야만 데이터가 흐르기 시작한다. 스트림은 이어 붙일 수 있는 연산을 묶어 한 번에 흘려보낸다. 다만 정렬이나 중복 제거처럼 앞을 다 봐야 하는 연산이 끼면 거기서 한 번 고인다.

만약 즉시 연산했다면 중간 단계마다 임시 컬렉션을 생성해야 한다. 이는 메모리 낭비와 CPU 오버헤드로 이어진다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

스트림의 지연 연산은 왜 필요한가?