nature 0.7 发布,完成首次性能优化
2025-12-18

nature v0.7 通过对 TCP/UDP/HTTP、CPU、string、GC、closure 等核心模块进行系统性优化,性能得到了大幅提升。在基准测试中,nature 展现出了超越预期的强劲实力,并且仍有进一步优化的空间。

安装包

https://github.com/nature-lang/nature/releases/tag/v0.7.0

版本变化

  • closure 实现方式重构,删除 JIT 模式 closure
  • gc 清理逻辑优化,增加 needzero 区分 span 是否需要清理
  • string 常量化处理,string as vec 会发生深度复制
  • http server 增加连接池
  • memory allocator 性能优化
  • libuv 使用方式重构,删除 multi threading loop,使用 global loop
  • tcp 库性能优化,增加连接池
  • udp 去除 libuv API 使用 C API 实现
  • LIR BCC 指令汇编实现优化
  • LIR safepoint 指令汇编实现优化,基于全局 flag 判断是否需要 GC
  • LIR stack 指令汇编实现优化,使用 sp 寄存器代替 fp 寄存器
  • arm64/riscv64 增加基于 MOV 指令的临时变量消除
  • 结构体实例化方式变更,赋值符号由 = 变更为 : https://github.com/nature-lang/nature/issues/174
  • 编辑器 NLS 模块开发体验优化,增加语言配置文件、struct 补全、自动 import、模块建议等 https://github.com/nature-lang/nature/pull/178

致谢

感谢 @arjendevos 对本次版本的代码贡献

感谢 @mmachatschek @Angluca @nunu886 的资金支持

特别感谢 @linky6565 的资金赞助,这对 nature 编程语言发展有着非常大的帮助!