写点什么

用 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:503904
用户头像

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

关注

评论

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

研发管理的挑战、本原与方案

iSoftBook

项目管理 软件工程 研发管理平台 敏捷方法 研发云平台

Python 基础知识:语法、数据类型和控制结构

3D建模设计

Python 数据工程

未来3-5年,前端开发往哪个方向发展更好就业?

互联网工科生

前端 前端开发 低代码

议题征集中| KCD 2023 杭州站,共话云原生技术

OpenAnolis小助手

云原生 杭州 龙蜥社区 议题征集 KCD

国产“芯”突破 | 优博讯携手海思推出AI新零售创新方案

极客天地

安全可靠的文件传输服务助力完成更高效的医疗保健工作(下)

镭速

文件传输服务 医疗保健

kill -15 与kill -9的区别

源字节1号

开源 软件开发 前端开发 后端开发 小程序开发

YouTube音频提取 4K YouTube to MP3 for Mac激活中文

胖墩儿不胖y

Mac软件 音频提取工具 音频处理软件

使用LlamaIndex构建自己的PandasAI

3D建模设计

人工智能 ChatGPT

工业互联网的破局密钥——低代码开发

力软低代码开发平台

为什么当下MES如此火热,各大制造业工厂都在推行?

万界星空科技

MES系统

“智算聚芯力 津彩新未来”天津市人工智能计算中心200P上线仪式暨天津人工智能应用创新论坛成功举办

彭飞

喜讯!广通优云两大产品入选软博会“年度优秀创新软件产品推广目录”

广通优云

关于前端就业前景的一点看法

树上有只程序猿

前端 前端开发

Python数据科学入门

3D建模设计

Python 生成式AI

电气设计软件有哪些?EPLAN让你成为专业工程师

智造软件

EPLAN 电器辅助设计 电气设计

Python数据结构5步入门

3D建模设计

Python 数据工程

一文秒懂!腾讯云ES HTTPS 集群访问通信最佳实践

腾讯云大数据

ES

HTTPS的安全体现在什么地方?

巨量HTTP

https HTTP

夯实金融云基础设施底座,天翼云助力金融行业释放发展新活力

天翼云开发者社区

云计算 安全

大模型时代的 AI 原生云

Baidu AICLOUD

AI 原生云

安全可靠的文件传输服务助力完成更高效的医疗保健工作(上)

镭速

文件传输服务 医疗保健

Numpy和Pandas简介

3D建模设计

Python 数据科学

OpenHarmony—应用间HSP开发指导

OpenHarmony开发者

OpenHarmony

昇腾 AI 创新大赛2023河北区域赛成功举办,22支优秀团队脱颖而出

彭飞

电子行业云MES解决方案

万界星空科技

MES系统

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