(구현) KGrep
* 관련 기술 스택이 없습니다

• 데브시스터즈의 라이브 코딩 테스트 문제를 기반으로, 사용자가 Kotlin을 활용하여 grep과 유사한 문자열 검색 도구를 싱글스레드로 구현한 후 멀티스레드로 개선하는 과정을 설명하고 있다. 이 과정에서 파일 탐색과 문자열 검색을 분리하고, 파일 단위로 스레드를 할당하여 병렬 처리를 구현하였다.
• 멀티스레드 버전(KGrepV2)은 원본 grep보다 약 88% 빠른 속도를 보였으나, CPU 자원을 더 많이 사용한다는 결과를 얻었다. 사용자는 디렉토리 탐색과 문자열 검색을 분리하여 멀티스레드 환경에서의 구현을 간단하게 하기 위해 탐색을 먼저 진행하는 방식을 선택하였다.
• 주어진 텍스트는 파일 내 특정 문자열("keyword")을 검색하는 프로그램을 싱글 스레드와 멀티 스레드로 구현한 과정을 설명하고 있다. 싱글 스레드 구현에서는 파일을 라인 단위로 처리하고, 멀티 스레드 구현에서는 코어 수에 맞춰 스레드를 할당하여 성능을 개선하였다.
• 멀티 스레드 구현을 통해 속도는 개선되었으나, 리소스 사용량이 증가하였다. 이 과정에서 코틀린의 멀티 스레드 지원 기능을 활용하였으며, 파일 단위로 스레드를 할당하여 간단하게 구현하였다.

북마크
공유하기
신고하기