浏览器
文章平均质量分 91
szengtal
这个作者很懒,什么都没留下…
展开
-
关于WebAssembly的一些介绍和开发
近几年,WebAssembly在快速的成长中,被称为未来的web发展方向。本文主要介绍关于WebAssembly的一篇介绍,包括和asm.js的一些对比,以及WebAssembly的一些特性和开发方式。 本文主要内容来自Google I/O '17中Alex Danilo的关于WebAssembly的主题演讲。感原创 2017-09-17 12:50:09 · 3425 阅读 · 0 评论 -
v8优化之代码缓存-code caching
V8中的代码缓存--code caching简介isolate caches in V8Resourse cache其他html里面的JavaScript为什么以前V8没有code cache。实例引用和扩展阅读简介 一份JavaScript代码从Blink交给V8开始到执行,经历了解析,编译,运行,优化以及包括GC这些过程。下面这张图展示了V8在运行中实际测量得出的数据 我们发现解析...原创 2019-04-29 09:59:12 · 4424 阅读 · 2 评论 -
javascript,chrome与幽灵攻击---JavaScript,chrome with Spectre Attacks
   &a原创 2018-09-22 00:35:14 · 1173 阅读 · 0 评论 -
不可不谈的JavaScript性能核心----单态及多态等(二)
让我们谈谈JavaScript单态(二)未讨论的:在撰写本文时,故意略去了一些实现细节,以免它在内容上过去宽泛。形状我们没有讨论对象的形状(即隐藏类)是如何表示,如何得到的以及如何和对象绑定在一起的。可以看下过去写的这篇 post on inline caches 以及我过去的一些会谈,比如AWP2014 来获得一些基本的了解。 这里需要你知道的一件重要的事是:Ja...翻译 2018-04-19 00:35:48 · 329 阅读 · 0 评论 -
不可不谈的JavaScript性能核心----单态及多态等(一)
本文介绍了我们在V8或者其他JavaScript引擎的介绍中,经常会看到的:单态以及多态等这些概念,结合JavaScript自身的例子,阐释了不同状态下引擎内部的处理过程以及各种状态的特点。本人翻译自Vyacheslav Egorov 的文章,并获得原作者许可。让我们谈谈JavaScript单态 那些涉及到JavaScript性能的演讲或是blog中经常会强调单态代码的重要性...翻译 2018-04-19 00:29:40 · 805 阅读 · 0 评论 -
V8中关于对象表示的简单介绍
众所周知,V8采用了很多先进的思想和技巧来加速JavaScript的执行。其中重要的一点就是关于对象的表示。本文只介绍关于对象的表示,所以会隐去一些过程和相关细节。对象的结构 v8会把对象看作一个单独的类,像Java中的类那样,也就是隐藏类,它在V8的内部就是一个Map结构。 当对象每新增一个的属性都会生成为一个新的Map。这个Map描述了一个对象在内存中...原创 2018-03-23 23:59:11 · 638 阅读 · 0 评论 -
V8中的多态内联缓存PIC
Google的V8作为最优秀的浏览器引擎,在它的内部实现上采用了很多的奇淫巧计,而如果你要想去深入了解下V8的构造,的确需要去了解很多它所包含的思想。其中之一就是大名鼎鼎的polymorphic inline cache(PIC),即多态内联缓存。多态内联缓存的用途之一就是V8通过隐藏类技术加PIC来加速Javascript对象属性的访问。目前很多关于V8的文章中都会提到隐藏类或者属性的快速...原创 2017-06-04 20:25:00 · 3007 阅读 · 0 评论 -
V8中的快速属性访问-Fast Properties in V8
V8中的快速属性访问 本文内容来来自V8项目官方博客内容,使用知识共享署名 3.0 未本地化版本许可协议,如果转载本文,需注明出处。本文主要介绍V8通过隐藏类技术,达到快速属性访问的效果。 本文将向我们展示V8底层如何去处理JavaScript中的属性。从JavaScript的角度来看,不同类别的属性之间只有一些很少的必要的区别。大多数时候,JavaScript对象就像字典,字符串...翻译 2018-01-14 01:01:40 · 1320 阅读 · 0 评论 -
“解析JavaScript — lazy 是否比 eager更好?”
“解析JavaScript — lazy 是否比 eager更好?” 本文理论内容来自JSConf EU 2017 中“Parsing JavaScript — better lazy than eager?”为题的主题演讲。V8与解析器 每个JavaScript代码在浏览器中被执行,经历的的第一步就是parser,解析器。 解析器会将JavaScript源码生...原创 2017-12-28 18:03:52 · 898 阅读 · 0 评论 -
新版V8引擎的一些介绍和了解
本文简单介绍在关于新于V8引擎的一些东西。主要内容包括:V8对于不同设备,不同需要情况下提供了最合适的优化;简单介绍V8引擎的最新架构,包括新的解释器以及优化编译器和垃圾回收器;介绍了对于ES2015语法的优化程度;介绍新版dev Tools的新功能特性;最后介绍了V8对于webassembly的支持。原创 2017-05-21 20:52:08 · 3384 阅读 · 0 评论 -
关于Asm.js的一些基本介绍和它的实现
Asm介绍asm是mozilla提出的一套基于JS的语法标准,由 Mozilla 的 Emscripten项目催生而来,主要为了解决js执行效率问题,尤其是通过Emscripten转换过来的js代码效率。那什么是Emscripten和asm,关于它的诞生,最主要的原因就是js执行效率低下。(目前asm已经由几家公司进行标准化,形成了WebAssembly,关于WebAssembly的内容,可以去看下原创 2017-04-23 17:01:10 · 10115 阅读 · 0 评论 -
JavaScript与垃圾回收(GC)---实现篇
Garbage Collection,即GC,中文称为垃圾回收。什么是垃圾回收呢?顾名思义,就是回收不需要的东西。正如你会把无用的东西扔到垃圾桶中,在程序中GC的作用就是回收不再使用的内存空间。对于GC,一般而言只有两件事需要做,找到内存空间里面的垃圾,接着回收垃圾,让程序员能够再次利用这部分空间。 诸如C这样的高级语言,提供了malloc()或者free()这样的API要求程序员显...原创 2019-08-14 00:06:04 · 3065 阅读 · 0 评论