PromQL Got a BOOST: 用 Rust 重写 Prometheus 的查询引擎第三届中国 Rust 开发者大会 PromQL Got a BOOST: 用 Rust 重写 Prometheus 的查询引擎 Ruihang Xia @greptime.com Ruihang GitHub: waynexia Losing hair at Greptime Wanna sleep 10 hrs/day Learn JS every year Healing0 码力 | 39 页 | 6.95 MB | 1 年前3
Rust在物理引擎研发中的应用 崔汉青第三届中国Rust开发者大会 Rust在物理引擎研发中的应用 崔汉青 Motphys CEO Motphys 驱动虚拟世界的全部运动 体验 应用 基础应用: 内容生成工具、 交易市场等 基础硬件: 5G/6G、 半导体、 VR/AR等 基础软件: 渲染引擎、 动作物理引擎等 静态表现力 动态表现力 渲染技术 动作物理技术 动作技术 Motion 物理技术 Physics 保证每个目标平台的极致性能 跨端确定性 – 保证所有目标平台计算结 果完全一致 具备分布式能力 – 通过横向扩展突破单 机物理算力的上限 Motphys 物理引擎的设计目标 Rust 的性能和 C/C++ 比肩,支持 SIMD 优 化,满足苛求性能的引擎研发需求; Rust 的零开销抽象甩掉了复杂设计的性能包袱 # 高性能 Rust 在不损耗性能的情况下,其优秀的语 法设计保证了语言的强大表达力:用更少 在语法层面极大程度保证了内存安全 和并发安全 语言内建的 async/await,还有优秀的 crates rayon(计算密集型并发支持)和 tokio(IO 密集型并发支持) 为什么选择 Rust Motphys 物理引擎架构 Broad Phase Narrow Phase Candidate Collision Pairs Manifold Build Collision Pairs Collision0 码力 | 22 页 | 1.18 MB | 1 年前3
Get started with DenoWhat is Deno “Deno 是基于 V8 并采用 Rust 构建的,一个简 单、现代且安全的 JavaScript 和 TypeScript 运行时环境。” Deno is a simple, modern and secure runtime for JavaScript and TypeScript that uses V8 and is built in Rust. ©hijiangtao Deno / 基于 V8 V8 是一个由 Google 开发的开源 JavaScript 引擎,其在运行之前将 JavaScript 编译成了机器代码 ,而非字节码或是解释执行它,以此提升性能。更进一步,使用了如 Inline Cache 等方法来提高性 能。有了这些功能,JavaScript 程序与 V8 引擎的速度媲美二进制编译。在 Deno 中,V8 引擎用于 执行 JavaScript 构建 Rust 是由 Mozilla 主导开发的通用、编译型编程语言。设计准则为 “安全、并发、实用”,支持函数 式、并发式、过程式以及面向对象的编程风格。Deno 使用 Rust 语言来封装 V8 引擎,通过 libdeno 绑定,我们就可以在 JavaScript 中调用隔离的功能。 ©hijiangtao Deno / 简单 1. 天生支持 TypeScript - 使用 Deno0 码力 | 43 页 | 1.51 MB | 1 年前3
Node.js Manual & Documentation目前比较繁杂,主要包括下述几 个主要类库: V8 JavaScript, a C++ library. Used for interfacing with JavaScript: creating objects, calling functions, etc. Documented mostly in the v8.h header file (deps/v8/include/v8.h in the the Node source tree). V8 JavaScript,C++类库,作为 JavaScript 的接口类,主要用于创建对象、 调用方法等功能。大部分功能在头文件 v8.h (在 node 文件夹下的路径为 deps/v8/include/v8.h)中有详细文档。 libev, C event loop library. Anytime one needs to wait started we create a file hello.cc: 首先我们需要创建一个 hello.cc 文件: #includeusing namespace v8; extern "C" void init (Handle 0 码力 | 153 页 | 1.21 MB | 1 年前3
PyArmor Documentation v8.1.90 码力 | 131 页 | 111.00 KB | 1 年前3
PyArmor Documentation v8.5.100 码力 | 193 页 | 154.05 KB | 1 年前3
Node.js在YunOS中的最佳实践 模块化、NaZve互调、事件模型 Node.js的不足 作为JavaScript虚拟机还不成熟 (缺少完整的libcore) ? 9 与V8强绑定,解耦或升级很困难 (naZve调用强依赖V8接口) ? CPU密集的计算场景中存在性能问题 (单线程,事件驱动,GC效率低) ? Node.js在YunOS中的最佳实践 10 JS code 16 性能优化的实践(二) Code cache: 充分利用V8引擎的能力,预先将JavaScript代码编译好生成cache文件 运行时加载cache文件,跳过编译过程,直接运行预编译的代码,提高运行效率 a.js Compile Zme: V8 a.js.cache Run Zme: requie(‘a.js’); load a0 码力 | 20 页 | 1.37 MB | 1 年前3
ThinkJS 2.2 中文文档} 注 :ThinkJS 里所有的类都会继承 think.base 基类。 使用 Babel 编译 虽然现在的 Node.js 版本已经支持了很多 ES6 的特性,但这些特性现在还只是实现了,V8 里还没 有对这些特性进行优化。如: */yield 等功能。 所以建议使用 Babel 来编译,一方面可以使用 ES6 和 ES7 几乎所有的特性,另一方面编译后的性 能也比默认支持的要高。 : co 2、 */yield 无法和 Arrow Function 一起使用。 3、 */yield 调用另一个 */yield 时,需要使用 yield * ,带来不便。 4、目前 V8 对 */yield 还没有做优化,最好也通过 Babel 来编译。 所以完全可以使用 ES7 里的 async/await 来代替 */yield ,然后使用 Babel 编译来运行。 升级指南 //模版引擎 content_type: 'text/html', //输出模版时发送的 Content-Type file_ext: '.html', //⽂文件的扩展名 file_depr: '_', //控制器器和操作之间的连接符 root_path: think.ROOT_PATH + '/view', //视图⽂文件的根⽬目录 adapter: { //模版引擎需要的配置项0 码力 | 277 页 | 3.61 MB | 1 年前3
The Node.js Handbook
much JavaScript do you need to know to use Node? 5. Differences between Node and the Browser 6. The V8 JavaScript Engine 6.1. Other JS engines 6.2. The quest for performance 6.3. Compilation 7. Run JavaScript runtime environment. It is a popular tool for almost any kind of project! Node.js runs the V8 JavaScript engine, the core of Google Chrome, outside of the browser. This allows Node.js to be very find ways to make JavaScript run faster. The engine that Node.js uses under the hood, V8 (also known as Chrome V8 for being the open-source JavaScript engine of The Chromium Project), improved significantly0 码力 | 161 页 | 1.66 MB | 1 年前3
Node 的设计错误因此⽽而严重⽼老老化 遗憾:安全性 • V8 本身是⼀一个⾮非常好的安全沙箱。 • 如果我对如何维护某些应⽤用程序进⾏行行更更多的思考,Node 可能会拥有⼀一些其他任何 语⾔言都⽆无法获得的安全保证。 • 示例例:您的 linter 不不应该完全访问您的计算机和⽹网络。 遗憾:构建系统(GYP) • 构建系统⾮非常困难且⾮非常重要。 • V8(通过Chrome)开始使⽤用GYP,并且我切换了了 不不是⼀一个丑陋陋的内部界⾯面,它暴暴露露给任何试图绑定到 V8 的⼈人。 • 这对⽤用户来说是⼀一个可怕的经历。这是⼀一种披着 Python 外⾐衣的假 JSON。 遗憾:构建系统(GYP) • GYP 的持续使⽤用可能是 Node 核⼼心最⼤大的故障。 • 我应该提供⼀一个核⼼心的外部功能接⼝口(FFI),⽽而不不是指导⽤用户编写 C++ 来绑定 到 V8 • 许多⼈人很早就建议搬到FFI(也就是 免责声明:我只是提出了了⼀一个初具雏形的原型。 除⾮非你急于卷起袖⼦子跳进 lldb,否则不不要费劲去尝试建造它。 即便便如此… Deno https://github.com/ry/deno V8上⼀一个安全的 TypeScript 运⾏行行时 Deno ⽬目标:安全 • 利利⽤用 JavaScript 是⼀一个安全沙箱的事实。 默认情况下,脚本应该在没有任何⽹网络或⽂文件系统写访问的情况下运⾏行行。0 码力 | 28 页 | 767.84 KB | 1 年前3
共 281 条
- 1
- 2
- 3
- 4
- 5
- 6
- 29













