Agentic AI、具身智能、强化学习框架、端侧大模型……来QCon上海站,感受AI的未来! 了解详情
写点什么

用 Google 的 Native Client 提高 Web 应用程序的性能

  • 2010-04-15
  • 本文字数:888 字

    阅读完需:约 3 分钟

为了提高 CPU 密集型 Web 应用程序的性能,Google 正在开发

Native Client(本地客户端),一个运行本地代码的浏览器技术。不像 Netscape 的

NPAPI 或微软的

ActiveX 插件技术,Native Client 运行在双沙箱里,从而被禁止访问底层的操作系统。

提高 Web 应用程序性能的一个方法是让浏览器运行本地的应用程序。这种方式运行本地代码通常比 Javascript 要快。但是这样会导致严重的安全问题,比如访问数据或者创建额外的网络连接。这是针对 NPAPI 和 ActiveX 的主要诟病之一。Native Client 希望能通过在一个特别的沙箱里运行本地应用程序并禁止访问底层操作系统的方式来解决这个问题。本地应用可以使用 CPU 以及与 Native Client 交互。

> 1. 提供一个不依赖于 ISA 的格式来编译 NaCI 模块,来支持广泛流行的目标平台,而不需要重新编译代码。
>
> 2. 让 NaCI 开发者很容易的构建、测试以及部署可移植执行模块。
>
> 3. 开始的时候支持 x86-32、x86-64 以及 ARM 指令集 ,但将来会直接支持其他流行的通用 CPU。
>
> 4. 保持 Native Client 的安全和性能

为了让开发者更容易开发,Native Client 模块可以用任何语言实现,然后被编译成

LLVM (底层虚拟机) 二进制编码。LLVM 是一个编译基础架构,它提供 ISA 中立性,所以原来的代码不需要被移植到不同的目标平台。二进制代码被进一步优化并保存到一个文件中。如果一个网页包含类型为 Native Client 的标签,浏览器就会创建相应的环境并下载相应的 LLVM 文件。接着二进制代码就被翻译成为本地代码并被解析,以确保它不会执行非法操作。然后才会执行原定的 CPU 操作。开发者只需要编写一次就可以部署到多个架构上,中间的 LLVM 层甚至能让模块在写代码时还不存在的更新的架构上运行。

Google 已经创建了支持以下平台的 Native Client

:Windows、Max OS X 以及 Linux x86-32、x86-64 和 ARM,而且对任何有兴趣的架构都是开放的。该

基准表明 Native Client 应用程序在 x86 和 ARM 上以普通应用程序 97% 的速度运行。Native Client 可以运行在

Firefox、Safari、Opera 以及 Google Chrome 应用程序的例子比如经典游戏 Quake,互动分形动画软件 Xaos 以及 Lua——一个脚本引擎。

2010-04-15 04:503892
用户头像

发布了 42 篇内容, 共 19.7 次阅读, 收获喜欢 6 次。

关注

评论

发布
暂无评论
发现更多内容

vue3实战-完全掌握ref、reactive

yyds2026

Vue

vue中的几个高级概念

yyds2026

Vue

升级到React-Router-v6

xiaofeng

React

没想到!我在简历上写了“精通MySQL”,阿里面试官跟我死磕后就给我发了高薪offer

程序知音

Java MySQL 数据库 后端技术

大数据开发培训学习哪家机构好

小谷哥

研发分享 | StoneDB 如何给 Tianmu 引擎增加 delete 功能 #1 调研之旅

StoneDB

数据库 HTAP StoneDB 10月月更 企业号十月PK榜

3M互助公排dapp系统开发智能合约定制

开发微hkkf5566

详解React的Transition工作原理原理

夏天的味道123

React

java开发技术培训费用是多少

小谷哥

Confidential Containers:云原生机密计算基础设施

OpenAnolis小助手

开源 cncf 龙蜥 机密计算 沙箱

【CSPO认证】11月19-20日在线周末班 | 全国招生

ShineScrum

Scrum 敏捷 产品负责人 CSPO 产品经理培训

大厂被裁,疫情之下,一个offer都没,测试人如何破局?

千锋IT教育

极客时间运维进阶训练营第一周作业

好吃不贵

CTO技术共享整理出来的十个Python自动化脚本

CTO技术共享

Python 个人成长 10月月更

SAP | 详解abap数据类型

暮春零贰

SAP abap 10月月更

遇到消息队列选型肿么办

CTO技术共享

个人成长 消息队列 10月月更

SAP | 认识数据元素和域

暮春零贰

SAP abap 10月月更

细说React组件性能优化

xiaofeng

React

React组件通信

xiaofeng

React

CTO技术共享整理九个shell脚本

CTO技术共享

个人成长 DDoS 10月月更

Dell UltraSharp 27显示器,创造你想要的“视”界

科技热闻

vue实战-深入响应式数据原理

yyds2026

Vue

前端开发的程序员还有前途吗

小谷哥

技术分享| 消息队列Kafka群集部署

anyRTC开发者

nginx kafka zookeeper 分布式 消息

什么是无代码?企业为什么要用无代码进行数字化转型?

优秀

数字化转型 无代码

Vue.nextTick核心原理

yyds2026

Vue

web前端开发课程培训哪家好

小谷哥

大数据开发培训怎么选?

小谷哥

React组件设计模式-纯组件,函数组件,高阶组件

xiaofeng

React

TiKV 源码阅读三部曲(一)重要模块

PingCAP

TiKV 源码解读

渲染行业的未来发展趋势

Finovy Cloud

渲染 云渲染 本地渲染

用Google的Native Client提高Web应用程序的性能_Google_Abel Avram_InfoQ精选文章