Julia 1.13:启动快20%,GC 效率飞跃
Julia 1.13 Highlights

Julia 1.13 正式发布,带来显著的性能飞跃。新版本预编译时间减少约 30%,启动速度比 1.12 快 20%。REPL 体验全面升级,原生支持语法高亮和 fzf 风格的模糊搜索,Windows 上也终于支持了 Bracketed paste。底层优化同样亮眼:引入 RapidhashNano 算法大幅提升哈希性能,垃圾回收(GC)通过跳过镜像对象标记,将全量回收时间从数十毫秒压缩至毫秒级。此外,新增 @__FUNCTION__ 宏、改进调度器中断机制以及 Pkg 默认压缩算法切换至 zstd,让 Julia 在开发效率和运行性能上更进一步。
在 Julia 1.13 中,系统镜像和包镜像中的对象被加载为永久标记状态,标记阶段不再进入它们,这使得全量垃圾回收的成本现在仅取决于程序实际创建的堆大小,而非已加载的代码量。
HN 评论区
43- zuluonezero
过去三年里,我深入调研了大量不同的编程语言和风格(目前统计约有 38 种)。上周末我反思了一下,自己真正最喜欢的是哪一种。并不是因为功能、特性或工具集,仅仅是哪一种用起来感觉最“对味”。Julia 脱颖而出,成为我最想继续探索的语言。我希望能给出一个有理有据的论证,但说实话,这真的只是一种直觉。它完美融合了精妙的设计、强大的能力、没有那种传教士式的愚蠢,以及令人愉悦的交互界面。今天早上看到这条发布消息,能感受到这种直觉被现实世界随机运作所验证,实在令人欣慰。感谢 Julia 团队。
- eigenspace
由于发布周期的调整,大多数新功能被推迟到了 v1.14,因此本次版本更像是一次迭代更新,专注于提升各项性能、修复 bug 以及整体打磨。
不过,更快的 GC、更低的启动延迟、更好的中断处理、新的 REPL 功能以及更快的包管理,这些都是非常棒的改进。我特别高兴的是,当你 `add` 一个未注册的包时,`[sources]` 部分现在可以递归应用了。
- notthemessiah
我很爱 Julia,但目前我觉得生态系统有两个让人头疼的地方。
交互式编程方面似乎正在产生分裂:一边是类似 Observable 的反应式笔记本 Pluto,另一边是绘图库 Makie 作者推出的、更像 Jupyter 的命令式笔记本 Bonito。
另一个烦恼是,包管理生态与 Github 和 Gitlab 绑定得太紧密,而 Gitlab 几乎是唯一的替代方案。在微软正在削弱 Github 可靠性的时代,许多新项目正转向 Tangled(基于 AT Protocol 网络)和 Forgejo(以 Codeberg 为旗舰),而 JuliaHub 对这些平台没有任何包支持。
- jan_m_savage
如果 Julia 能做到以下几点, adoption 率会更高:
--> 为初学者提供完善的入门资源,同时也为中级和高级用户提供相应资源。目前与 Python 世界相比,相关资源相对匮乏。
--> 一款专用的 IDE。Python 有好几款。
除此之外,它是一门很棒且干净的語言,比 Python 更快、更优雅。很遗憾它一直笼罩在 Python 的阴影下。
- MarkusQ
我真的很喜欢 Julia,但我最终的使用频率却不如预期,因为启动时间太慢,这让它无法胜任许多应用场景(当然,在其他场景下这很容易通过摊销来解决)。