Rustのコンパイル時間:25分から2分へ

2025-04-17
Rustのコンパイル時間:25分から2分へ

Felderaチームは、大規模なSQLから生成されたRustコードのコンパイル時間に非常に長い時間を要する問題に直面しました。8562行のSQLプログラムを約10万行のRustコードに変換するのに25分かかっていました。型消去やコード重複排除などの手法を試みましたが、効果は限定的でした。最終的に、生成されたRustコードを1106個の小さなクレートに分割することで、並列コンパイルが可能になり、コンパイル時間を2分未満に大幅に短縮し、マルチコアプロセッサをフル活用できるようになりました。

続きを読む

GitHub ActionsのCI/CD:苦闘の記録

2025-03-20
GitHub ActionsのCI/CD:苦闘の記録

複雑なCI/CDパイプラインをGitHub Actionsで構築する過程で、著者はマージキュー、一貫性のない動作、セキュリティ上の懸念など、多くの困難に直面しました。マージキューでのステータスチェックの強制、GITHUB_TOKENのセキュリティモデルの理解、Dockerコンテナのファイル権限とパスに関する問題、YAMLワークフローの複雑さなどが課題でした。マージ時間が短縮されたものの、多くの落とし穴と一貫性のない動作があったことを指摘し、GitHub Actionsの使いやすさとデバッグの改善を訴えています。

続きを読む
開発

ファイングレイン認証を革新する:Felderaの増分計算エンジン

2025-01-20
ファイングレイン認証を革新する:Felderaの増分計算エンジン

Felderaは、ファイングレイン認証(FGA)に対する革命的なアプローチを紹介します。従来のFGAシステムは、リアルタイムで認証リクエストを評価するため、非効率です。Felderaは、すべての認証決定を事前に計算し、増分計算エンジン(SQLベース)を使用して結果を更新することで、認証リクエストを単純なキーバリュー検索に変換します。大規模なオブジェクトグラフでも、Felderaはミリ秒単位で変更を処理し、パフォーマンスを劇的に向上させます。この記事では、FGAの原則を詳しく説明し、SQLを使用して高性能なFGAエンジンを構築する方法を示し、大規模データセットの処理における優位性を示しています。

続きを読む