밀기와 당기기: 세 가지 반응성 알고리즘
반응성 엔진(reactive engine) 구축을 위해 세 가지 주요 알고리즘인 푸시(push) 반응성, 풀(pull) 반응성, 그리고 이 둘을 결합한 푸시-풀 하이브리드 방식을 소개합니다.
푸시 반응성은 노드가 업데이트되면 의존하는 하위 노드에 변경을 전파하는 방식으로, 세밀한 업데이트가 가능하지만 효율성과 글리치(불일치 상태) 문제를 해결하기 어렵습니다.
풀 반응성은 출력 노드가 필요할 때 의존 노드를 호출해 값을 계산하는 방식으로, 글리치 문제를 자연스럽게 해결하고 동적 의존성 관리가 용이하지만, 불필요한 재계산과 업데이트 대상 파악의 어려움이 존재합니다.
푸시-풀 하이브리드는 먼저 푸시 단계에서 변경이 필요한 노드를 표시(dirty flag)하고, 이후 풀 단계에서 실제 계산을 수행해 효율성과 정확성을 모두 확보하는 방식입니다. 이 방법은 대규모 시스템에서도 효율적이며, 글리치 방지와 동적 의존성 관리가 용이한 실용적 접근법으로 평가됩니다.