최적화

컴파일러 최적화 (Optimization)

Flat AST, Speculative Optimization, E-Graph

1. Flat AST (평탄화된 AST)

장점


2. Speculative Optimization (추측 기반 최적화)

자주 실행되는 패턴을 미리 추측해서 빠르게 실행할 수 있게 변환

function add(x, y) {
  return x + y;
}

add(1, 2);    // 숫자만 쓰면 → 숫자 전용 최적화 코드 생성
add("a", "b"); // 갑자기 문자열 → 추측 틀림 → Deoptimization

3. E-Graph (Equality Saturation)

한 표현식의 다양한 수학적/논리적 등가식을 동시에 저장하고 최적의 코드를 선택

(a + b) + c  ==  a + (b + c)  ==  c + (a + b)

관련 개념