当前位置: 首页 > news >正文

小公司it如何建设网站优化的作业及意义

小公司it如何建设,网站优化的作业及意义,网站开发专业就业培训学校,整个网站都在下雪特效怎么做最近#xff0c;Facebook 发布 Prepack :一个优化 JavaScript 源代码的工具#xff0c;实际上它是一个 JavaScript 部分求值器(Partvaluator)#xff0c;可在编译时执行原本在运行时的计算过程#xff0c;并通过重写 JavaScript 代码来提高其执行效率。(西安尚学堂#xf…    最近Facebook 发布 Prepack :一个优化 JavaScript 源代码的工具实际上它是一个 JavaScript 部分求值器(Partvaluator)可在编译时执行原本在运行时的计算过程并通过重写 JavaScript 代码来提高其执行效率。(西安尚学堂   Prepack 用简单的赋值序列来等效替换 JavaScript 代码包中的全局代码从而消除了中间计算过程以及对象分配的操作。对于重初始化的代码Prepack可以有效缓存JavaScript解析的结果优化效果最佳。     下面五个概念可以帮我们更好的理解 Prepack 运行机制   抽象语法树(AST)Prepack运行在AST级别使用Babel解析并生成JavaScript源代码。     具体执行(Concrete Execution)Prepack 核心是一个JavaScript解释器它与ECMAScript 5几乎完全兼容而且紧密地保持与ECMAScript 2016语言规范的一致性你可以将Prepack中的解释器视为完全参照JavaScript实现的。解释器能够跟踪并撤销包括所有对象Mutation在内的结果从而能够进行推测优化(Speculative Optimization)。     符号执行(Symbolic Execution)除了对具体值进行计算外Prepack的解释器还可以操作受环境相互作用影响的抽象值。例如Date.now可以返回一个抽象值你可以通过helper辅助函数(如__abstract())手动注入抽象值。Prepack会跟踪所有在抽象值上执行的操作在遇到分支时Prepack会执行并探索所有可能性。所以Prepack实现了一套JavaScript的符号执行引擎。     抽象释义(Abstract Interpretation)符号执行在遇到抽象值的分支时会分叉(fork)Prepack会在控制流合并点加入分歧执行(Diverged Execution)来实现抽象释义的形式。连接变量和堆属性可能会得到条件抽象值Prepack会跟踪有关抽象值和型域(Type Domain)的信息。     堆序列化(Heap Serialization)当全局代码返回初始化阶段结束时Prepack捕获最终的堆并按顺序排列堆栈生成直观的JavaScript新代码创建并链接初始化堆中可访问的所有对象。堆中的一些值可能是抽象值的计算结果对于这些值Prepack将生成原始程序完成计算所执行的代码。     以下是官方提供的Prepack优化示例    /* Hello World */// Input (function () {function hello() { return hello; }function world() { return world; }global.s hello() world();})();// Output (function () {s hello world;})();/* 消除抽象税 */// Input (function () {var self this;[A, B, 42].forEach(function(x) {var name _ x.toString()[0].toLowerCase();var y parseInt(x);self[name] y ? y : x;});})();// Output (function () {_a A;_b B;_4 42;})();     Prepack团队对未来的规划如下   1、短期   稳定现有功能集用于预优化(Prepack)React Native代码包   集成React Native工具链   根据React Native所用模块系统的假设来构建优化   2、中期   进一步优化序列化(Serialization)包括消除不暴露特性(identity)的对象;消除未使用的导出属性等等   预优化每个函数、基本代码块、语句、表达式   与ES6保持完全一致   支持广泛的模块系统   假设ES6支持某些功能延迟完成或直接忽略Polyfill应用   进一步实现Web和Node.js环境中的兼容性目标   深入集成JavaScript虚拟机改进堆反序列化过程包括 暴露“对象懒初始化”的概念 - 以一种JavaScript无感知的方式在首次使用对象时对其进行初始化;通过专门的字节码提高普通对象创建的编码效率;将代码分为两个阶段1) 非环境依赖阶段虚拟机可以安全地捕获并恢复生成的堆;2)环境依赖阶段通过从环境中获得的值执行所有剩余的计算过程来拼凑具体的堆等等   总结循环和递归   3、长期 - 利用Prepack作为一个平台   JavaScript Playground - 通过调整JavaScript引擎体验JavaScript特性这些引擎由JavaScript所编写托管在浏览器中;你可以把它想象成一个“Babel虚拟机”实现了不能被编译的JavaScript新特性   捕捉Bug - 发现异常崩溃、执行问题……   效果分析例如检测模块工厂函数可能的副作用或强制纯净注释转载于:https://www.cnblogs.com/a31415926/p/6832199.html
http://www.pierceye.com/news/171184/

相关文章:

  • 创建个人网站的流程建设网站聊天室
  • cms 学校网站上海模板网站
  • 网站建设投资风险分析公司做的网站费用如何做账
  • 网站建设费用核算科目DW做的网页用网站打不开
  • wordpress标签搜索引擎嘉兴市做网站优化
  • 网站更换关键词怎么做好wordpress post fonts
  • 厦门优化网站排名网站备案转服务器
  • 怎样做pdf电子书下载网站做旅行攻略的网站
  • 怎样做网站推广啊抖音网站的flash怎么做
  • 网站建设小说网站建设目标是什么意思
  • 如何做一个好的网站中英文网站好处
  • wordpress站点版权设置晋中建设集团网站
  • 怎么夸一个网站做的好看烟台百度网站推广
  • 佛山市网站建设分站多少钱企业门户账号是什么
  • 大中型网站开发价格铜山区建设局局网站周保春
  • 为什么有人做商城优惠券网站卖科技风格设计网站
  • 企业网站的需求分析是做网站编辑还是做平面设计
  • 超酷 flash 网站淮南网红餐厅
  • 湛江网站建设开发株洲关键词seo优化服务商
  • 女的有没有做网站的十大经典随身空间小说推荐
  • 江西做网站哪家好监理证查询网
  • 北京驾校网站建设网络哪里能接活做网站
  • 建设网站公司排名西宁网站建设优化案例
  • 外贸网站推广有用吗网络服务投诉平台
  • 网站制作价上传下载网站模板
  • 注册网站会员 我们的信息淘宝上可以做网站吗
  • 建筑材料价格查询网站做网站从哪方面入门
  • 百度百科网站怎么做360优化大师app下载
  • 那些网站用不着做优化个人网站设计案例
  • wordpress怎么釆集文章杭州seo百度关键词排名推广