[지식] 계산하는 방법 바꿨는데 속도가 10배 차이 나네
핵심은 특정 파형 계산에서 복잡한 연산을 반복하는 대신, 각도를 정수로 변환한 뒤 덧셈과 미리 저장된 값 조회(LUT)를 활용하는 방식임.
실제로 얼마나 차이가 나는지 CPU에서 비교하고, 계산 과정도 GIF로 시각화해봤음.
■ 01. 실제 계산 속도 비교

동일한 파형 계산 1,000만 개를 처리한 결과
기존 계산 방식 : 330.40ms
최적화된 각도 계산 : 195.61ms
정수 덧셈 + LUT : 33.26ms
기존 계산 경로 대비 약 9.9배의 속도 차이가 나타남.
다만 모든 연산이 빨라지는 건 아니고, 특정 조건의 파형 계산을 근사적으로 처리한 결과임.
■ 02. 실제 계산 원리는?

쉽게 말하면 원형으로 순환하는 각도를 0~1023, 0~2047까지의 정수로 표현하는 방식임.
예를 들어 1023 + 1 = 0처럼 숫자가 순환하도록 더한 뒤, 해당 위치에 미리 저장된 값을 가져오는 구조임.
실제 비트 연산과 LUT 조회 과정을 구현해서 확인해봤음.
■ 03. 이미지 처리도 별도로 실험

논문의 PLP 개념에서 아이디어를 얻어 실험용 이미지 노이즈 제거 필터도 만들어봤음.
기존 필터와 비교하면서 노이즈 제거 정도와 이미지의 세부적인 부분이 얼마나 유지되는지 살펴봄.
다만 이건 원본 PLP 알고리즘을 그대로 구현한 건 아니고, 별도로 설계한 실험용 프로토타입임. 모든 결과에서 기존 필터보다 우수한 것도 아님.
■ 원문 논문 및 프로젝트
이번 프로젝트는 Paper VIII의 아이디어 중 구현 가능한 부분을 CPU에서 실험하고, 계산 방식과 결과를 GIF로 쉽게 볼 수 있도록 정리한 작업.
논문의 모든 주장을 검증한 것은 아니고, 실제 반도체 칩이 아닌 CPU 기반 실험임.
원문 논문 (Paper VIII — Zenodo)
구현 코드 · 실험 결과 · GIF (GitHub)
관심 있는 사람 있으면 한번 봐보셈.
댓글