AI4NLP

파이썬 비동기 라이브러리 Asyncio 를 읽고 나서 본문

General

파이썬 비동기 라이브러리 Asyncio 를 읽고 나서

nlp user 2021. 5. 23. 15:56

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 


예전에 한 과제를 할 일이 있었다.
이 과제에서 점수가 책정되는 방식 중에서 전체 처리시간도 들어가있었는데, 파일 I/O (Input, Output)에서 병목이 발생해서 multiprocessing 라이브러리를 이용하여 해결해보려 했던 적이 있었다. 인터넷에 있던 여러 예제 코드들과 도큐먼트들을 참고해서 코드를 만들었는데.. 이전과 달라진 점들이 하나도 없었다. 그래서 직접 확인해보니, 분명히 동시에 처리는 하고 있었는데, 이상하게 속도가 1/n으로 줄어들어있었다. 결국 디버깅하지 못하고 그대로 과제를 제출했던 기억이 있다.

 

최근에 회사에서 업무를 진행하면서 비동기 프로그래밍이란 것에 대해 알게 되었는데, 비동기 프로그래밍을 적용하면 I/O를 좀 더 효율적으로 처리할 수 있을 것이란 기대에 언젠가 해봐야지 생각하고 있던 찰나에 파이썬 비동기 라이브러리 Asyncio 를 읽게 되었다. 책 자체는 두께가 얇기 때문에 읽는 데에는 많은 시간이 걸리지 않았다. 또한 책 안에 다양한 예제를 제공해서 읽는 데에도 크게 어려움이 없었다. 

 

책에서 다루는 내용들은 크게 다음과 같다.

1. Asyncio 소개

2. Asyncio와 다른 라이브러리 비교

3. 코루틴, 태스크 등 async / wait 기능 소개

4. Asyncio와 관련된 서드파티 라이브러리 소개

책 내용 자체는 Asyncio에 대해 알고 익히기에 부족함이 없었지만, 라이브러리 사용법이 어렵다기보단.. 개념자체를 완벽하게 이해하고 적용하기 어려운 부분이어서.. 다양한 상황에서 많이 사용해봐야 숙달될 것 같다.

I/O를 다루면서 스트레스 받았던 적이 많은 분들에게 추천드리고 싶다.
그리고 번역을 읽음에도 불편함이 없었다. 이것은 내용과는 별개의 강점 같다.

Comments