2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

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

关注

评论

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

深度学习之“线下标注”

矩视智能

深度学习 机器视觉

世界500强都摒弃使用FTP的真实原因

镭速

ftp传输 FTP替代 FTP替代方案

从研发域到量产域的自动驾驶工具链探索与实践

Baidu AICLOUD

自动驾驶 工具链 仿真

开放原子开源大赛 | Pika赛题正式启动,诚邀报名!

开放原子开源基金会

Java虚拟线程简介

FunTester

如何通过”系统设置”自定 苹果Mac?

南屿

自定义苹果Mac Mac电脑使用教程 苹果电脑使用

Mate60上的这个视频APP,追剧可太香了

最新动态

1024程序员节之天马低代码开发者大赛篇

Openlab_cosmoplat

低代码 1024程序员节

聊聊复杂网络环境下hdfs的BlockMissingException异常|参数dfs.client.use.datanode.hostname

明哥的IT随笔

hdfs TCP/IP

华为云API Explorer重磅推出API编排,开发者0代码高效构建工作流

华为云开发者联盟

软件开发 API 华为云 华为云开发者联盟 企业号9月PK榜

超越内存限制:深入探索内存池的工作原理与实现

华为云开发者联盟

软件开发 存储 华为云 华为云开发者联盟 企业号9月PK榜

Photoshop创成式AI不能用?Alpaca(羊驼)AI智能创成式填充插件

南屿

PS插件下载 Alpaca(羊驼)插件 AI创成式填充插件

在Mac上,按Command-X键无法剪切怎么办?

南屿

Mac右键助手 Command-X键无法剪切 Mac常见问题

Vue3中的Ref与Reactive:深入理解响应式编程

互联网工科生

前端框架 Vue 3

中国首个接入大模型的Linux操作系统;ChatGPT支持图片和语音输入;抖音上线方言自动翻译功能丨RTE开发者日报 Vol.57

声网

[Go 夜读 第 148 期] Excelize 构建 WebAssembly 版本跨语言支持实践

xuri

开源 Excel webassembly Go 语言 Excelize

探索全球 AI 产品市场:50 个国内外导航网站助力推广

出海的猹

AI 导航网站 出海

C4D在影视动画制作中的局限性

Finovy Cloud

C4D

轻量级业务福音!TDengine Cloud 在国轩高科储能项目中的应用

TDengine

tdengine 时序数据库 国产时序数据库

苹果mac桌面管理软件都有哪些?

南屿

Mac桌面管理工具 苹果电脑必备软件 Mac破解软件

企业如何寻找可替代serv-u的国产文件传输系统?

镭速

一站式运营营销平台

Quincy

运营 用户增长技术 营销数字化 用户留存 `后端

融云 CallPlus + X,通话场景一站式解决方案

融云 RongCloud

API 社交 融云 CallPlus SDK 通话

OWASP Top 10漏洞解析(1)- A1:Broken Access Control 访问控制失效

云计算 华为云 漏洞分析

【开源】低代码引擎 TinyEngine 源码正式开放啦!!!

OpenTiny社区

开源 前端 低代码

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