더북(TheBook)

노드는 I/O 작업을 백그라운드로 넘겨 동시에 처리하곤 합니다. 따라서 동시에 처리될 수 있는 작업들은 최대한 묶어서 백그라운드로 넘겨야 시간을 절약할 수 있습니다.

▲ 그림 1-10 동시 처리로 얻는 시간적 이득

그림 1-10을 보면 순서의 중요성을 알 수 있습니다. 처리하는 데 각각 1초가 걸리는 작업 다섯 개가 있는데, 그중 세 개는 동시에 처리가 가능하고 두 개는 동시에 처리할 수 없습니다. case 1과 같은 순서대로 작업하면 5초 정도가 소요될 것입니다. 같은 양의 작업을 case2처럼 순서만 바꾸면 3초 정도로 단축됩니다.

이렇게 작업 순서에 따라 큰 성능 차이가 납니다. 동시에 처리될 수 있는 I/O 작업이더라도 논블로킹 방식으로 코딩하지 않으면 의미가 퇴색되므로 논블로킹 방식으로 코딩하는 습관을 들여야 합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.