Erlang/OTP 27 亮点
Erlang/OTP 27 终于发布了。这篇博客文章将介绍我们最兴奋的新功能。
阅读更多Erlang/OTP 27 终于发布了。这篇博客文章将介绍我们最兴奋的新功能。
阅读更多这篇文章探讨了记录更新的新优化以及其他一些改进。它还简要回顾了最近直到 Erlang/OTP 27 的优化历史。
阅读更多Erlang/OTP 26 终于发布了。这篇博客文章将介绍我们最兴奋的新功能。
阅读更多这篇文章探讨了增强的基于类型的优化以及 Erlang/OTP 26 中的其他性能改进。
阅读更多OTP 25 终于发布了。这篇文章将介绍我最兴奋的新功能。
阅读更多当您需要“随机”整数,并且必须快速且廉价地生成它们时;那么 `rand` 模块中功能齐全的伪随机数生成器可能就显得多余了。这篇博客文章将深入探讨该模块的新增功能,即时编译器如何优化它们,已知的技巧,并尝试比较这些苹果和土豆。
阅读更多这篇文章探讨了 Erlang/OTP 25 中新的基于类型的优化,其中编译器将类型信息嵌入到 BEAM 文件中,以帮助 JIT(即时编译器)生成更好的代码。
阅读更多共享的 Erlang 术语存储 (ETS) 表格通常是存储频繁从多个 Erlang 进程更新和读取的数据的绝佳场所。 ETS 向 Erlang 进程提供键值存储。当激活 write_concurrency 选项时,ETS 表格会在内部使用细粒度锁定。因此,多个进程在 ETS 表格中插入和删除不同项目的场景应该可以很好地随着利用的核心数量进行扩展。但是,实际上,这种场景的可扩展性还不完美。这篇博客文章将探讨 `decentralized_counters` 选项如何使我们离完美的可扩展性更近一步。
阅读更多消息传递一直是 Erlang 的核心,虽然有相当详细的文档,但我们避免深入研究太多细节,以便在实现时拥有更多自由。不过,没有什么能阻止我们在博客文章中描述它,所以让我们仔细看看!
阅读更多只要 Erlang 存在,就一直有使其更快的需求和雄心。这篇博客文章是一堂历史课,概述了 Erlang 的主要实现,并试图提高 Erlang 的性能。
阅读更多这篇文章是对 BEAM 的简要入门,BEAM 是在 Erlang 运行时系统 (ERTS) 中执行用户代码的虚拟机。它的目的是帮助那些刚接触 BEAM 的人关注即将发布的关于 OTP 24 中 JIT 的系列文章,并将实现细节留到以后。
阅读更多OTP 23 刚刚发布(2020 年 5 月 13 日)。这是一个漫长的过程,在最终发布之前,分别在 2 月、3 月和 4 月发布了三个候选版本。我们非常感谢我们收到的关于候选版本的反馈,这些反馈揭示了我们内部测试没有发现的一些错误和缺陷。
阅读更多这篇博客文章将介绍自从发布以来我使用过的 persistent_term 的三种不同用法,并解释一下它们为什么与 persistent_term 一起工作得如此出色。
阅读更多OTP 22 刚刚发布。这是一个漫长的过程,在最终发布之前发布了三个候选版本。我们今年决定尝试对主要版本进行一个月的额外测试,我认为额外的时间是值得的。我们收到了来自社区的许多关于我们内部测试没有发现的大小错误的错误报告。
阅读更多在实现新的 可扩展 ordered_set 时,我们发现当在并行插入元素时迭代表格时,保证方面存在奇怪之处。
阅读更多Erlang/OTP 22 将带来许多性能改进,但它们中的大多数都具有广泛的影响,并且不会影响您编写高效代码的方式。在这篇文章中,我想重点介绍一些过去令人惊讶地缓慢,但不再需要避免的事情。
阅读更多Erlang/OTP 22 将是 `ssl` 应用程序的重要版本。我们正在开发几个新功能和改进,例如对 TLS 1.3 的支持,其中一些已经在主分支上。这篇博客文章介绍了基于新的记录器 API 构建的新 ssl 调试日志记录。
阅读更多这篇博客文章回顾了 基于 SSA 的中间表示从今年年初到 8 月底分支合并时的发展。
阅读更多这篇博客文章通过多个示例继续探索 新的基于 SSA 的中间表示。如果您错过了,请务必阅读SSA 简介。
阅读更多这篇博客文章是对 新的基于 SSA 的中间表示的介绍,该表示最近已合并到 Erlang/OTP 存储库中的 `master` 分支。它使用与 上一篇博客文章中相同的示例,首先查看生成的 SSA 代码,然后查看一些优化。
阅读更多在暑假之后,这个博客现在将改变方向,并开始一系列关于静态单赋值 (SSA) 的博客文章。第一篇文章将通过查看尝试优化 BEAM 汇编代码时可能陷入的陷阱和误区,为后续文章设置场景。
阅读更多这篇博客文章是关于 BEAM 机器的 Erlang 编译器的简短历史课。为了提供一些背景信息,首先将快速了解 Erlang 的抽象机器。
阅读更多这篇博客文章总结了前两篇博客文章中开始的核心 Erlang 探索。描述了其余的默认核心 Erlang 传递,然后查看核心 Erlang 在编译器内部的表示方式。
阅读更多这篇博客文章是关于 Core Erlang 格式的第一篇。在这篇博客文章中,我们将通过比较 Erlang 代码和相应的 Core Erlang 代码的示例来介绍 Core Erlang 格式。
阅读更多OTP-21 候选版本 1 刚刚发布。我想回顾一下我最兴奋的更改。很可能这主要意味着 erts 和核心库中的功能,因为这些是我最熟悉的更改。
阅读更多Erlang/OTP 21 的内存检测模块已重写,使其更易于使用。在这篇文章中,我将描述新功能背后的基本原理以及如何使用它们。
阅读更多在这篇博客文章中,我们将探讨构成编译器前端的编译器传递。
阅读更多这是关于编译器的系列博客文章的第一篇。将会有关于编译器现在如何工作、未来如何工作以及一些历史说明来解释为什么某些事情是现在这样的。在这篇博客文章中,我将讨论探索编译器最有用的选项之一,即time
选项。
Erlang/OTP 21 将引入一个全新的 IO 轮询实现。这个新实现带有一组新的可调参数,可用于充分利用您的系统。这篇博客文章描述了这些参数,并试图描述它们应该用于什么。
阅读更多