Icicle: Tardis 모나드와 스티칭 그래프를 사용한 파괴적 업데이트

2025-03-20

Icicle은 구조체 배열 방식을 사용하여 C 언어로 컴파일되는 고급 스트리밍 쿼리 언어입니다. 순수성을 보장하기 위해 컴파일러는 처음에 배열 변경 전에 복사 작업을 삽입합니다. 이 게시글에서는 Tardis 모나드와 스티칭 그래프를 사용하여 이러한 복사 작업의 대부분을 제거하고, 파괴적 업데이트를 가능하게 하며, 최대 50%의 런타임 감소를 달성하는 최적화에 대해 설명합니다. 이 알고리즘은 배열 참조를 추적하기 위한 참조 그래프를 생성하고, Tardis 모나드를 사용하여 앞뒤로 순회하여 안전한 파괴적 업데이트를 결정합니다. 이는 함수형 프로그래밍 개념과 컴파일 시간 최적화를 교묘하게 결합하여 스트리밍 쿼리 언어의 성능 향상을 위한 새로운 접근 방식을 제공합니다.

더 보기
개발