대용량 파일을 복사할 때마다 기다림에 지쳤던 리눅스(Linux) 사용자들에게 반가운 소식이 있습니다. 기존 'cp' 명령어의 속도 한계를 개선한 'fastcp'라는 새로운 유틸리티가 등장했습니다. 이 도구는 파일 시스템이 '리플링크(reflink)' 기능을 지원하는지 자동으로 확인하고, 가능할 경우 'cp' 명령어에 '--reflink=always' 옵션을 추가하여 파일 복사 속도를 대폭 향상시킵니다.
'fastcp'는 러스트(Rust) 언어로 개발된 'cp' 명령어의 래퍼(wrapper)로, 파일 시스템의 리플링크 지원 여부를 장치(device)당 한 번만 감지하여 '~/.config/fastcp/' 경로에 결과를 캐시(cache)합니다. 이를 통해 매번 복사할 때마다 재감지하는 오버헤드를 줄였습니다. 리플링크는 실제 데이터를 복사하는 대신, 파일 시스템 내에서 데이터 블록을 참조하는 방식으로 작동하여 물리적인 데이터 복사 시간을 절약합니다. 개발자에 따르면, 10GB 이상의 대용량 파일이나 느린 저장 장치(slow drives)에서 기존 'cp'보다 훨씬 빠른 성능을 보이며, 작은 파일에서는 약 5밀리초(ms) 정도의 미미한 지연이 있을 수 있다고 합니다.
이러한 'fastcp'의 등장은 특히 대규모 데이터셋을 다루는 개발자, 데이터 과학자, 시스템 관리자들에게 큰 도움이 될 것으로 예상됩니다. 데이터 복사 시간이 단축되면 작업 효율성이 증대되고, 이는 곧 프로젝트의 전체 진행 속도 향상으로 이어질 수 있습니다. 또한, 리플링크를 통한 복사는 스토리지(storage)의 물리적 쓰기 작업을 줄여 저장 장치의 수명 연장에도 기여할 수 있다는 점에서 의미가 있습니다. 'fastcp'는 기존 'cp' 명령어와 동일한 방식으로 사용할 수 있어 학습 곡선이 낮다는 장점도 있습니다.