Devotd Github
新发现开发工具

jnorthrup/mlir-nix v0.4.0 — 基于 MLIR 的 Nix 求值器

jnorthrup/mlir-nix 提供兼容 Nix 2.35.4 的求值器和 mlnix 命令行工具,最新版本为 v0.4.0。

仓库信息jnorthrup/mlir-nix ↗

jnorthrup/mlir-nix 提供兼容 Nix 2.35.4 的求值器和 mlnix 命令行工具,最新版本为 v0.4.0。

GitHub 项目说明: Nix 2.35.4-compatible evaluator, store and CLI (mlnix) built on an MLIR dialect

星标
★ 7
复刻
1
语言
C++
许可证
LGPL-2.1
最新版本
v0.4.0
查看原始来源 ↗在 GitHub 查看 ↗

jnorthrup/mlir-nix 是一个 C++ 项目,提供与 Nix 2.35.4 兼容的求值器、存储库(store)以及命令行工具 mlnix。据仓库信息,最新版本为 v0.4.0。现有信息没有说明该版本包含哪些改动。项目描述的结构是:先将 Nix 表达式降低为 MLIR 的 Nix 方言,然后在需要时进行求值。也就是说,并不是立即把所有表达式一次性算完,而是在需要某个值时才进行求值。

这种方式是在用另一条执行路径实现 Nix 求值器的同时,检验结果是否一致。README 说明每次改动都会与参照实现 Nix 和 Lix 的结果进行比较。它会在真实系统求值和包集合上确认计算结果是否一致,并涵盖惰性求值以及基于 LLVM 的执行路径。文档中还公开了性能对比与设计依据。该仓库的核心并非提出新语法,而是把既有 Nix 表达式的求值迁移到 MLIR 之上,并与参照实现保持一致。

不过,现有信息既没有 v0.4.0 的具体变更记录,也没有性能对比结果。README 说明会在真实工作负载中测量惰性求值的收益,并会搁置没有收益的改动,但这里并未给出测量数值。因此,实现方向与验证方针可以确认,但要判断本次发布的实际效果或性能收益则较为困难。