파일 압축 작업 = cpu 바운드
Nodejs = 싱글 스레드 (특정 기능은 멀티 스레드로 동작)
이게 뭔가 찜찜한 거임
그래서 "nodejs는 메인 로직이 싱글 스레드로 돌아가는데 파일 압축 로직을 넣으면 성능상 악영향이 있을까?" 라고 질문함 (한국어로 한 번, 영어로 한 번)
제미나이(2.5pro): "ㅇㅇ 이벤트루프 블락 때문에 성능에 안 좋을 수 있음"
gpt(5.0): "ㅇㅇ 성능에 안 좋을 수 있음, 그래도 대부분의 상황에선 별 영향 없긴 함"
저 ai 놈들의 의견을 철썩 같이 믿고 압축 프로세스를 따로 구현하기 시작, 메세지 큐로 프로세스 간 통신을 구현하는 등 신나게 삽질을 하다가
"응? 근데 nodejs 만든 사람들이 바보가 아니고서야 압축 로직이 이벤트 루프를 블락하게 만들었을까?"
"아무리 생각해봐도 그 정도는 쓰레드 풀 이용해서 이벤트 루프 블락 안하게끔 처리했을 것 같은데?"
이런 당연한 생각이 문득 떠오름
그래서 구글에다가 검색하니까 15분만에 "zlib(nodejs에 내장된 압축 라이브러리)의 기능은 명시적으로 동기라고 선언된 몇몇 기능 빼면 쓰레드 풀을 이용해서 돌아갑니다 ^^" 라고 쓰여있는 공식 문서 발견
캬 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
그래 도구에 무슨 잘못이 있겠냐
ai 한테 뇌를 의탁한 내가 바보지
두 번 다신 교차검증을 소홀히 하지 않겠다...
아니. 러스트 안배워서 날려먹은거임. 러스트 쓸 줄 알았으면 숨 쉬듯이 당연하게 러스트로 고성능 압축 워커 만들어서 썼을거임. - dc App
https://m.dcinside.com/board/github/84903
읽어보삼
급 식 쩝 쩝 충