QuickJS-NG v0.10.0 版本发布:性能优化与新特性解析
QuickJS-NG 是基于 Fabrice Bellard 原版 QuickJS 项目的一个现代化分支,专注于提供轻量级、高性能的 JavaScript 引擎实现。该项目以其小巧的体积、完整的 ES2020 支持以及出色的执行效率而闻名,特别适合嵌入式系统和资源受限环境。
核心改进与优化
1. 全新的 BigInt 实现
v0.10.0 版本带来了全新的 BigInt 实现,采用了 32 位 limbs 结构。这一改进显著提升了 BigInt 运算的性能,特别是在处理大整数运算时。新的实现不仅优化了内存使用,还提高了计算效率,使得需要大整数运算的应用场景(如加密算法)能够获得更好的性能表现。
2. 内存管理优化
本次版本修复了多个内存泄漏问题,包括:
- WeakMap 实现中的内存泄漏
- 生成器函数中的引用计数泄漏
- 字符串填充操作中的内存泄漏
- hash_map_resize() 函数的优化
这些修复使得引擎在长时间运行时更加稳定,特别是在处理复杂对象关系和大量字符串操作时。
3. Windows ARM64 支持
新增了对 Windows ARM64 架构的官方支持,这意味着 QuickJS-NG 现在可以原生运行在基于 ARM 架构的 Windows 设备上,如 Surface Pro X 等设备。这一变化扩展了 QuickJS-NG 的应用场景,使其能够在更多类型的硬件平台上运行。
新特性介绍
1. Array.fromAsync 方法
v0.10.0 实现了 Array.fromAsync 方法,这是 JavaScript 最新的异步数组操作方法。它允许开发者从异步可迭代对象创建数组,简化了异步数据处理的流程。这个特性对于处理流式数据或异步数据源特别有用。
2. Promise Hooks
新增的 Promise Hooks 功能为开发者提供了对 Promise 生命周期的细粒度控制能力。通过这个特性,开发者可以:
- 追踪 Promise 的创建
- 监控 Promise 的状态变化
- 捕获未处理的 Promise 异常
这对于调试异步代码和实现高级的异步控制流非常有帮助。
3. 解析器优化与构建选项
本次版本引入了"parserless"构建模式,允许在不需要完整 JavaScript 解析功能的情况下构建更精简的引擎版本。这对于只需要执行预编译代码的环境特别有用,可以进一步减小引擎的体积。
性能提升
除了 BigInt 的优化外,v0.10.0 还包含多项性能改进:
- 使用了 xsum 小型累加器优化校验和计算
- 优化了自动初始化分派表,使其变为只读
- 改进了 DataView 在缓冲区调整大小时的长度更新机制
这些优化使得引擎在各种场景下的执行效率都有所提升。
兼容性与稳定性
v0.10.0 修复了多个边界情况下的问题:
- 修复了日期解析中超过9个连续数字的问题
- 修复了输入损坏时的OOB读取问题
- 改进了 Windows 平台上的 Worker 支持
- 更新了 WASI SDK 以提供更好的 WebAssembly 支持
开发者工具改进
qjsc 编译器新增了 -C 标志,允许将代码编译为经典脚本而非模块。这为需要传统脚本加载方式的场景提供了更好的支持。
总结
QuickJS-NG v0.10.0 版本在性能、内存管理和功能完整性方面都做出了显著改进。新加入的 Array.fromAsync 和 Promise Hooks 等特性使其与现代 JavaScript 生态保持同步,而底层的优化则进一步提升了引擎的执行效率。这些改进使得 QuickJS-NG 成为嵌入式 JavaScript 引擎中更具竞争力的选择,特别适合需要高性能和小体积的场景。
HunyuanImage-3.0
HunyuanImage-3.0 统一多模态理解与生成,基于自回归框架,实现文本生成图像,性能媲美或超越领先闭源模型00- DDeepSeek-V3.2-ExpDeepSeek-V3.2-Exp是DeepSeek推出的实验性模型,基于V3.1-Terminus架构,创新引入DeepSeek Sparse Attention稀疏注意力机制,在保持模型输出质量的同时,大幅提升长文本场景下的训练与推理效率。该模型在MMLU-Pro、GPQA-Diamond等多领域公开基准测试中表现与V3.1-Terminus相当,支持HuggingFace、SGLang、vLLM等多种本地运行方式,开源内核设计便于研究,采用MIT许可证。【此简介由AI生成】Python00
GitCode-文心大模型-智源研究院AI应用开发大赛
GitCode&文心大模型&智源研究院强强联合,发起的AI应用开发大赛;总奖池8W,单人最高可得价值3W奖励。快来参加吧~0370Hunyuan3D-Part
腾讯混元3D-Part00ops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。C++099AI内容魔方
AI内容专区,汇集全球AI开源项目,集结模块、可组合的内容,致力于分享、交流。02Spark-Chemistry-X1-13B
科大讯飞星火化学-X1-13B (iFLYTEK Spark Chemistry-X1-13B) 是一款专为化学领域优化的大语言模型。它由星火-X1 (Spark-X1) 基础模型微调而来,在化学知识问答、分子性质预测、化学名称转换和科学推理方面展现出强大的能力,同时保持了强大的通用语言理解与生成能力。Python00GOT-OCR-2.0-hf
阶跃星辰StepFun推出的GOT-OCR-2.0-hf是一款强大的多语言OCR开源模型,支持从普通文档到复杂场景的文字识别。它能精准处理表格、图表、数学公式、几何图形甚至乐谱等特殊内容,输出结果可通过第三方工具渲染成多种格式。模型支持1024×1024高分辨率输入,具备多页批量处理、动态分块识别和交互式区域选择等创新功能,用户可通过坐标或颜色指定识别区域。基于Apache 2.0协议开源,提供Hugging Face演示和完整代码,适用于学术研究到工业应用的广泛场景,为OCR领域带来突破性解决方案。00- HHowToCook程序员在家做饭方法指南。Programmer's guide about how to cook at home (Chinese only).Dockerfile09
- PpathwayPathway is an open framework for high-throughput and low-latency real-time data processing.Python00
热门内容推荐
最新内容推荐
项目优选









