메인
투자 노트

알고리즘 퍼포먼스 향상 메뉴얼

@12/23/2022
대규모 데이터 처리 알고리즘을 자꾸 개발하다보니 비슷한 패턴이 눈에 보여서 기록한다.

1. 이터레이션을 단 한번만 하도록 해야한다.

여러개의 작업을 해야한다고 여러번 이터레이션 하는게 아니라 한번의 이터레이션을 여러개의 작업이 가져갈 수 있도록 알고리즘 구조를 만들어야 한다.
한번이 가장 이상적인데 현실적으로 불가능한 경우도 있다. 어쨋튼 이터레이션을 최소화 하는게 중요

2. 코드 자체의 퍼포먼스를 반드시 고려해야 한다.

동일한 로직을 가지는 코드는 정말 많다. 중요한건 로직은 동일해도 프로그래밍 언어가 해당 코드를 가지고 컴퓨터를 동작시키는 방법은 코드마다 다를 수 있다는 점이다.
쿼리 최적화가 대표적인 예시

3. 최대한 수학적으로 처리하는게 좋다.

로직에서 숫자로 표현 가능한 부분은 모두 숫자로 처리해야 한다. 숫자로 처리되는 로직은 수학으로 다룰 수 있다. 수학으로 다룰 수 있으면 얼마든지 유도해서 간단하게 만들 수 있다.
수학적으로 계산해서 알 수 있는걸 논리적으로 직접 수행하지 말아야 한다.