• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

go, pipe, reduce의 비동기 제어에서의 성능 개선에 대한 질문입니다.

19.06.24 23:11 작성 조회수 111

0

go, pipe, reduce의 비동기 제어 부분에서 reduce함수를 recur(acc)를 리턴하는 방식으로 고치면

go(1, a => a + 10, Promise.resolve(a + 100), a => a + 1000, a => a + 10000)에서 a => a + 10과 a => a + 1000, a => a + 10000이 하나의 콜스택에서 동작하기 때문에 성능적으로 더 좋고 효율적으로 동작하는 reduce가 된다고 설명해주셨는데요. 

혹시 이 부분을 조금만 더 자세히 설명해주실 수 있을까요? 아직 자바스크립트에서의 비동기 실행에 대한 이해가 부족한 탓인지, 아니면 혹시 이벤트루프에 대한 이해가 부족한 탓인지 이 부분이 잘 이해가 되지 않네요. 

감사합니다. 

답변 1

답변을 작성해보세요.

0

a => a + 1000, a => a + 10000

위 코드가 하나의 콜스택에서 동작합니다.

비동기가 일어나지 않는 구간끼리는 하나의 콜스택에서 돌아간다는 의미입니다.