블랙 매직: 놀라울 정도로 빠른 순환 버퍼
2025-01-11
이 글에서는 가상 메모리 페이징을 이용한 순환 버퍼의 영리한 최적화 기법을 소개합니다. 기존 순환 버퍼의 읽기/쓰기 작업은 경계 처리 때문에 비효율적입니다. 저자는 mmap 시스템 호출을 사용하여 버퍼를 두 개의 연속적인 가상 메모리 영역에 매핑합니다. 이를 통해 경계 검사 없이 쓰기를 연속적으로 수행할 수 있으므로 성능이 크게 향상됩니다. 이 기법은 OS가 자동으로 랩어라운드를 처리하므로 복잡한 경계 검사 및 모듈 연산이 필요 없습니다. 결과적으로 성능이 3배 향상됩니다.
더 보기