Aiki Alpha 3 发布 - 性能提升
摘要
Aiki Alpha 3 发布,带来显著的性能改进,包括更低成本的运行时实现、自适应数表示、增强的性能分析和覆盖率,以及更严格的库约束。
<p><a href="https://lobste.rs/s/hutycp/aiki_alpha_3_released_performance">评论</a></p>
查看缓存全文
缓存时间: 2026/08/30 22:05
# Aiki Alpha 3 发布 - decuser 博客
来源: https://decuser.github.io/posts/aiki-alpha-3-release/
Aiki Alpha 3 已发布。
标记版本 `v0.4.0-alpha-36` (https://github.com/decuser/aiki/tree/v0.4.0-alpha-36),可从 GitHub release (https://github.com/decuser/aiki/releases/tag/v0.4.0-alpha-36) 获取。
Alpha 1 使该语言成为现实。Alpha 2 使其架构变得明确。Alpha 3 在不扩大核心语言的情况下,使实现更加精确、高效、受控且可观察。
| 领域 | Alpha 3 进展 |
| :--- | :--- |
| **数字** | 一个精确的语言级数字模型,具有自适应的内部实现 |
| **运行时** | 大幅减少分配、调用开销、遍历和实现成本 |
| **列表** | 在不可变列表语义下实现自适应持久化 |
| **控制** | 保留惰性 `and`/`or`、正确的尾调用、严格的从左到右求值 |
| **数学** | 精确的本机权威、有界的精确 FFI 加速、明确的近似数学 |
| **性能分析** | 单一观察网络,用于调用、边界、分配和主机成本 |
| **覆盖率** | 静态可覆盖结构与动态观察命中相结合 |
| **库** | 在随附库中跨模块/帮助/导出/本机/FFI 实现更强的不变量 |
| **工具** | 统一的命令注册表、递归目标处理、更强的验证级别 |
| **分发** | 可重定位的 Linux、macOS 和 Windows amd64 版本 |
| **仓库** | 工程材料已整合;实验移至独立仓库 |
最重要的变更,大致按影响程度降序排列:
- **运行时实现成本大幅降低。** 调用、环境、参数框架、AST 遍历、字面量实现、解析器簿记和不可变字符串观察都已收紧。其意图是语义不变:语言本身保持不变,而底层机制做了更少的工作。
- **精确数字现在具有自适应的物理表示。** Aiki 仍然呈现一个精确的 `number` 类型。在内部,值可以根据需要使用紧凑整数、紧凑有理数、精确有限二进制形式或任意精度有理数。表示是实现的选择;精确性是语言规则。
- **持久列表也得到了同样的处理。** 列表仍然是不可变的值,但它们的实现在扁平、前沿和持久/分叉形式之间自适应调整,而不会将这些选择暴露给程序。
- **正确的尾调用和惰性逻辑控制现在已成为实现的语言表面的一部分。** `and` 和 `or` 仅在需要时才求值其右操作数。其他二元表达式仍然严格从左到右求值;Aiki 仍然没有传统的运算符优先级层次结构。
- **性能分析被重建为一个单一观察网络。** 它可以说明调用者/被调用者关系、运行时层和实现边界的跨越、分配计数和字节、包含和排除主机成本,以及选定的实现类别。
- **覆盖率现在共享相同的执行证据。** 可覆盖站点来自程序和 AST 的静态模型;动态命中来自观察网络,而不是来自第二个独立的运行时会计机制。
- **数学表面现在按语义角色分离。** `math/native` 是精确的语义权威,裸 `math` 解析到此处。`math/ffi` 加速精确的 `floor`、`ceil` 和 `modulo` 表面。`math/approx` 包含明确的近似 `sin`、`cos` 和 `sqrt`,而不是削弱 Aiki 的数字模型。
- **库结构受到更强的机制约束。** 模块摘要、导出、帮助、文档、别名、本机/FFI 策略和声明的加速表面相互检查,而不是允许各自独立变化。
- **命令行和验证结构被简化。** 顶层分发和帮助共享一个注册表,递归目标处理被集中,验证现在具有明确的级别,包括 `make validate-lang`、`make validate-all`、`make rigorous`、`make distcheck` 和 `make historycheck`。
- **仓库更小,且按用途划分更明确。** 工程记录、提案、性能分析材料、Git hooks、证据和 AI 辅助工程方法现在位于 `engineering/` 下。示例和编辑器支持有明确的位置。核心仓库越来越专注于语言本身。
实验也已从 Aiki 核心仓库移至一个单独的项目:
- aiki-experiments (https://github.com/decuser/aiki-experiments)
这种分离是有意为之的。实验从外部使用 Aiki,并作为独立的集成和压力测试表面,而不是成为语言实现的一部分。
现有实验包括:
- 001 — 语义性能分析和递归自解释
- 002 — Thompson 的 1968 正则表达式编译器和 IBM 7094 重建
- 003 — 四路生命游戏,测试并发、进程、存储和混合实现表面
- 005 — PDP-11/40 重建,旨在可在受监控的机器表面上运行 UNIX V6
这种安排也使得边界更加清晰:机器特定的工作保留在实验中,除非它暴露了真正的 Aiki 缺陷或普遍有用的缺失能力。
Alpha 3 包含*《Aiki 编程语言报告》*和*《这是 Aiki —— Aiki Alpha 3 版本发布》*的更新版本。语言报告现在涵盖了完整的随附库表面和形式化语法;历史性的 Alpha 1 和 Alpha 2 文档仍予以保留。
Aiki 仍然是 alpha 版本。语法、库、工具和实现细节可能仍然会发生变化。核心设计仍然可识别:精确值、从左到右求值、显式分组、可恢复的结构化错误、正确的尾调用、隔离的并发、可检查的实现边界以及将系统捆绑在一起的可执行不变量。
提供适用于 Linux、macOS 和 Windows 的发布存档。
### 链接
- Aiki on GitHub (https://github.com/decuser/aiki)
- Alpha 3 发布版 (https://github.com/decuser/aiki/releases/tag/v0.4.0-alpha-36)
- Aiki 实验项目 (https://github.com/decuser/aiki-experiments)
- Alpha 2 发布版 (https://github.com/decuser/aiki/releases/tag/v0.4.0-alpha-35)
*文章发布于 2026-08-30 15:27:00 -0500*
相似文章
Aiki Alpha 2 发布
Aiki Alpha 2 已发布,其特点包括语法驱动的架构、明确的权限边界、大量自托管功能以及系统开发库。此外,还在验证、FFI集成和多平台分发方面进行了改进。
Aiki:Alpha 里程碑 26 更新
本文介绍了 Aiki 项目的 Alpha 里程碑 26 更新,详细说明了该语言或工具在语法权威性、解析器工具以及失败语义方面的改进。
Stable Audio 3.0(3分钟阅读)
Stability AI发布了Stable Audio 3.0,这是一个开放权重模型系列,可生成最长六分钟的变长音频,支持LoRA微调和音频修复,基于完全许可的数据训练。
@_philschmid:Gemini 3.7 Flash 在 @ArtificialAnlys 全新的 AA-AnalystAgent 基准测试中位列第一。AA-AnalystAgent 对真实世界场景进行评估……
Gemini 3.7 Flash 在全新的 AA-AnalystAgent 基准测试中拔得头筹,该测试涵盖80项跨领域的定量分析任务,在准确性(60% pass^5)、速度(每任务1.32秒)和成本效率方面均表现卓越。
@yoheinakajima:上周末继续开发 @activegraphai 参考包,结果发现需要对运行时进行加固:它已经……
ActiveGraph 发布了七个运行时版本(1.2.0 到 1.7.1),用于加固其自主智能体的参考包,增加了安全的 fork-测试-推广循环,支持子进程隔离、清单哈希和完整的事件日志记录。