Linux 파이프 성능 한계에 도전: 3.5GiB/s에서 62.5GiB/s로의 최적화
2025-06-22
이 글에서는 파이프를 통해 데이터를 읽고 쓰는 테스트 프로그램을 반복적으로 최적화하여 Linux에서 Unix 파이프의 구현 방식을 탐구합니다. 약 3.5GiB/s의 처리량을 가진 간단한 프로그램으로 시작하여 여러 최적화 단계를 거쳐 성능을 20배 이상 향상시킵니다. 주요 개선 사항으로는 `vmsplice` 및 `splice` 시스템 호출을 사용하여 데이터 복사를 제거하고, 대용량 페이지를 활용하여 페이징 오버헤드를 줄이며, 바쁜 루프를 사용하여 동기화 비용을 최소화하는 것이 포함됩니다. Linux의 `perf` 도구를 사용한 코드 예시와 성능 분석을 통해 이 과정을 자세히 설명합니다.
(mazzo.li)
개발
파이프