![]()
Deno Land 近日发布了 Deno 2.9,这是该公司 JavaScript/TypeScript/WebAssembly 运行时的最新版本更新,核心亮点是新增了 deno desktop 功能,开发者可直接利用已熟悉的 Web 技术栈构建原生桌面应用程序。
Deno 2.9 于 6 月 25 日正式推出,同时在启动时间、内存占用及 HTTP 吞吐量方面均有所改善。安装说明可在 docs.deno.com 查阅。
deno desktop 功能详解
通过 Deno 2.9,用户可以将 deno desktop 指向某个脚本或 Web 框架项目,从而生成一个原生且独立的桌面应用程序。该应用的 UI 层在 WebView 中运行,逻辑层则在 Deno 中执行。由于 deno desktop 基于与 deno compile 相同的底层机制构建,最终输出的是一个包含代码与资源文件的单一可分发二进制文件。
启动速度大幅提升
在 Deno 2.9 中,一个 hello-world 程序的冷启动时间约为 2.8 版本的一半,从 34 毫秒缩短至 17 毫秒。这一提升源于多方面的优化措施,包括:延迟加载 Node: 全局变量以减少快照体积、将 node 引导程序限制在 Node Worker 中按需执行、为剩余延迟加载的 ESM 模块启用 V8 代码缓存,以及对快照进行压缩精简。
内存占用显著降低
Deno 2.9 在内存使用方面也带来了明显改善,尤其是高负载场景下的内存表现。在 Deno 2.8 中,常驻集大小会随工作负载增长,从服务纯文本时的约 94MB 增长至流式传输 1MiB 内容时的 197MB;而在 Deno 2.9 中,无论服务器执行何种操作,内存占用基本保持平稳,约为 62MB。这意味着在实际工作负载场景下,峰值内存占用降低了 2.2 倍,在 1MiB 内容场景下更降低了 3.1 倍。因此,同一台服务器在达到资源上限之前,可以运行更多并发的 Deno.serve 实例。
HTTP 吞吐量全面提升
Deno 2.9 的 HTTP 吞吐量同样有所增强,Deno.serve 在各项场景下的性能均得到提升。其中,实际工作负载场景提升约 1.27 倍,纯文本场景提升 1.11 倍,1MiB 内容场景提升 1.18 倍。这些改进主要得益于新引入的 Deno 自有 HTTP/1.1 服务路径。
Node.js 兼容性升级
此外,Deno 2.9 将 Node.js 兼容性目标提升至 Node.js 26,版本号随之更新,所使用的 node-compat 测试套件也同步升级至 26.3.0 版本。
Q&A
Q1:Deno 2.9 的 deno desktop 功能是什么?它能用来做什么?
A:deno desktop 是 Deno 2.9 新增的功能,允许开发者直接使用熟悉的 Web 技术栈(如 JavaScript/TypeScript)来构建原生桌面应用程序。应用的 UI 层在 WebView 中渲染,逻辑层在 Deno 中运行,最终生成一个包含所有代码和资源的单一可分发二进制文件,无需额外依赖。
Q2:Deno 2.9 相比 Deno 2.8 启动速度快了多少?
A:Deno 2.9 的冷启动速度大约是 Deno 2.8 的两倍。以 hello-world 程序为例,启动时间从 2.8 版本的 34 毫秒缩短至 17 毫秒。这一改进来自多项优化,包括延迟加载全局变量、V8 代码缓存以及对运行时快照进行压缩精简等。
Q3:Deno 2.9 在内存使用上有哪些改进?
A:Deno 2.9 在高负载场景下的内存占用大幅降低。相比 Deno 2.8 内存会随负载增长(最高达 197MB),Deno 2.9 无论在何种工作负载下内存始终维持在约 62MB 左右。在实际场景中,峰值内存降低了 2.2 倍,在 1MiB 内容传输场景中更降低了 3.1 倍,同一台机器可运行更多并发服务实例。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.