Icicle:Tardisモナドとステッチンググラフによる破壊的更新

2025-03-20

Icicleは、構造体配列のアプローチを使用してC言語にコンパイルされる高レベルのストリーミングクエリ言語です。純粋性を確保するために、コンパイラは当初、配列の変更前にコピー操作を挿入します。この記事では、Tardisモナドとステッチンググラフを使用してこれらのコピーの大部分を排除し、破壊的な更新を可能にし、最大50%のランタイム削減を実現する最適化について説明します。このアルゴリズムは、配列参照を追跡するための参照グラフを作成し、Tardisモナドを使用して前方と後方のトラバーサルを行い、安全な破壊的な更新を決定します。これは、関数型プログラミングの概念とコンパイル時最適化を巧みに組み合わせ、ストリーミングクエリ言語のパフォーマンス向上のための新しいアプローチを提供します。

開発