对于 GYP 的继续使用可能是 Node 核心最大的败笔。 对此,Ryan Dahl 认为自己不应该引导开发者基于 V8 引擎使用 C++ 编写,而是应该提供一个核心外部函数接口(FFI)。其实早前,就有很多人建议他转向 FFI,但当时 Ryan Dahl 并没在意,这让他现在追悔莫及。 最后, Ryan Dahl 还对 libuv 采用 autotools 表示非常不满...
对于 GYP 的继续使用可能是 Node 核心最大的败笔。 对此,Ryan Dahl 认为自己不应该引导开发者基于 V8 引擎使用 C++ 编写,而是应该提供一个核心外部函数接口(FFI)。其实早前,就有很多人建议他转向 FFI,但当时 Ryan Dahl 并没在意,这让他现在追悔莫及。 最后, Ryan Dahl 还对 libuv 采用 autotools 表示非常不满...
Bun.js实现了大部分Node-API(N-API),大部分Node.js原生模块都可以正常工作。 bun:ffi可以使用低成本的外部函数接口从JavaScript调用本机代码(据测试比napi快 5 倍 、比Deno快100倍) 原生支持不断增长的Node.js核心模块列表以及全局变量,例如Buffer和process 试用一下 安装Bun CLI: curl https://bun.sh/install...
对于 GYP 的继续使用可能是 Node 核心最大的败笔。 对此,Ryan Dahl 认为自己不应该引导开发者基于 V8 引擎使用 C++ 编写,而是应该提供一个核心外部函数接口(FFI)。其实早前,就有很多人建议他转向 FFI,但当时 Ryan Dahl 并没在意,这让他现在追悔莫及。 最后, Ryan Dahl 还对 libuv 采用 autotools 表示非常不满...
而就在近日,一款集构建、转译、依赖管理于一身的高性能 JavaScript 运行时 Bun (https://bun.sh/)横空出世,甚至在其官网上,该团队分享三种技术在 Server、Sqlite、ffi 三个方面的性能对比,结果显示,初出茅庐的 Bun 远超 node、deno,这不禁让“前辈们”感到了巨大压力。
在Deno v1.13 中,我们用一个新的外部功能接口(Foreign Function Interface,FFI)API 取代了不稳定的插件系统。FFI 仍然被认为是不稳定的,但我们认为这是一个重大的改进。 在1.13 版之前,原生插件系统允许使用 Rust 编写的动态库。由于 Rust ABI 的不稳定,以及将 API 作者限制在一种语言中,我们决定用一个通用的...
我不该引导用户面向 V8 编写 C++ 绑定,而应为用户提供核心外函数接口(FFI)。很多早就建议过转向 FFI(Cantrill 就曾多次提出),遗憾的是我忽略了这些金玉良言。(我对于 libuv 采用 autotools 非常不满意。)遗憾:package.json 在NPM 当中,isaac(在很大程度上)发明了 package.json。
FFI:每秒操作数 为啥这么快? 和Node.js、Deno不同,Bun.js并没有基于V8引擎,它直接选择了JavaScriptCore引擎,它的执行速度往往要比V8等更传统引擎要快。 另外,Bun.js是用一种具有手动内存管理的低级编程语言ZIG编写的,对内存的低级控制、没有隐藏的控制流可能就是它性能非常好的秘诀。
而就在近日,一款集构建、转译、依赖管理于一身的高性能 JavaScript 运行时 Bun (https://bun.sh/)横空出世,甚至在其官网上,该团队分享三种技术在 Server、Sqlite、ffi 三个方面的性能对比,结果显示,初出茅庐的 Bun 远超 node、deno,这不禁让“前辈们”感到了巨大压力。
稳定的API:如WebGPU、FFI(Deno.dlopen())和HTTP客户端,现在不再需要--unstable标志。 破坏性更新:许多旧API被移除,如Deno.Buffer、Deno.File等。 示例(新API Deno.openKv()): const db = await Deno.openKv(); 8. 文档测试功能(deno test --doc) Deno 2.0带来了全新的文档测试功能!开发者现在可以通过...