Rust编译时间优化:从25分钟到2分钟

2025-04-17
Rust编译时间优化:从25分钟到2分钟

Feldera团队在使用Rust编译大型SQL生成的代码时遇到了编译时间过长的问题,一个8562行SQL代码生成的10万行Rust代码需要25分钟才能编译完成。他们尝试了多种优化方法,例如类型擦除和代码去重,但收效甚微。最终,他们通过将生成的Rust代码拆分成1106个小的crate,并利用多核并行编译,将编译时间缩短到了2分钟以内,充分利用了多核处理器的性能。

阅读更多
开发 多核并行

GitHub Actions 的 CI/CD 之痛:一个血泪史

2025-03-20
GitHub Actions 的 CI/CD 之痛:一个血泪史

作者历经三次尝试,最终无奈回到GitHub Actions,构建复杂的CI/CD流程。过程中遭遇诸多难题:合并队列的奇怪状态检查强制执行、难以理解的安全模型(GITHUB_TOKEN权限管理)、Docker容器文件权限和路径问题、YAML工作流的复杂性和调试困难等。尽管最终成功减少了合并时间,但整个过程充满了令人沮丧的坑和不一致的行为,作者呼吁改进GitHub Actions的易用性和调试体验。

阅读更多
开发

颠覆式细粒度授权:Feldera 的增量计算引擎

2025-01-20
颠覆式细粒度授权:Feldera 的增量计算引擎

Feldera 提出了一种颠覆性的细粒度授权 (FGA) 方法。传统 FGA 系统实时计算授权请求,效率低下。Feldera 通过预计算所有授权决策并使用增量计算引擎 Feldera (基于 SQL) 更新结果,将授权请求转换为简单的键值查找。即使在大型对象图中,Feldera 也能以毫秒级速度处理变更,显著提升性能。文章详细介绍了 FGA 原理,并用 SQL 代码演示了高性能 FGA 引擎的构建,展示了其在处理大型数据集时的优越性。

阅读更多