파일 압축 작업 = cpu 바운드


Nodejs = 싱글 스레드 (특정 기능은 멀티 스레드로 동작)



이게 뭔가 찜찜한 거임


그래서 "nodejs는 메인 로직이 싱글 스레드로 돌아가는데 파일 압축 로직을 넣으면 성능상 악영향이 있을까?" 라고 질문함 (한국어로 한 번, 영어로 한 번)


제미나이(2.5pro): "ㅇㅇ 이벤트루프 블락 때문에 성능에 안 좋을 수 있음"

gpt(5.0): "ㅇㅇ 성능에 안 좋을 수 있음, 그래도 대부분의 상황에선 별 영향 없긴 함"



저 ai 놈들의 의견을 철썩 같이 믿고 압축 프로세스를 따로 구현하기 시작, 메세지 큐로 프로세스 간 통신을 구현하는 등 신나게 삽질을 하다가


"응? 근데 nodejs 만든 사람들이 바보가 아니고서야 압축 로직이 이벤트 루프를 블락하게 만들었을까?"

"아무리 생각해봐도 그 정도는 쓰레드 풀 이용해서 이벤트 루프 블락 안하게끔 처리했을 것 같은데?"


이런 당연한 생각이 문득 떠오름


그래서 구글에다가 검색하니까 15분만에 "zlib(nodejs에 내장된 압축 라이브러리)의 기능은 명시적으로 동기라고 선언된 몇몇 기능 빼면 쓰레드 풀을 이용해서 돌아갑니다 ^^" 라고 쓰여있는 공식 문서 발견


캬 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ


그래 도구에 무슨 잘못이 있겠냐


ai 한테 뇌를 의탁한 내가 바보지


두 번 다신 교차검증을 소홀히 하지 않겠다...