Rust Compile Times: From 25 Minutes to 2 Minutes

2025-04-17
Rust Compile Times: From 25 Minutes to 2 Minutes

The Feldera team encountered excessively long compile times when compiling large SQL-generated Rust code. An 8,562-line SQL program translated to ~100k lines of Rust took 25 minutes to compile. Techniques like type erasure and code deduplication yielded minimal improvements. The breakthrough came from splitting the generated Rust code into 1,106 smaller crates, enabling parallel compilation and dramatically reducing compile time to under 2 minutes, fully utilizing multi-core processors.

Read more

GitHub Actions CI/CD: A Painful Odyssey

2025-03-20
GitHub Actions CI/CD: A Painful Odyssey

The author recounts a frustrating journey building a complex CI/CD pipeline using GitHub Actions, involving multiple iterations and struggles with merge queues, inconsistent behavior, and security concerns. Challenges included enforcing status checks with merge queues, understanding the security model surrounding GITHUB_TOKEN, Docker container file permission and path issues, and the complexities of YAML workflows. Despite achieving a reduction in merge time, the author highlights the numerous hidden pitfalls and inconsistent behavior, advocating for improved usability and debugging in GitHub Actions.

Read more
Development

Revolutionizing Fine-Grained Authorization: Feldera's Incremental Compute Engine

2025-01-20
Revolutionizing Fine-Grained Authorization: Feldera's Incremental Compute Engine

Feldera introduces a revolutionary approach to Fine-Grained Authorization (FGA). Traditional FGA systems evaluate authorization requests in real-time, leading to inefficiency. Feldera precomputes all authorization decisions and uses its incremental compute engine (based on SQL) to update results, turning authorization requests into simple key-value lookups. Even with large object graphs, Feldera processes changes in milliseconds, dramatically improving performance. The article details FGA principles and demonstrates building a high-performance FGA engine using SQL, showcasing its superiority in handling large datasets.

Read more