菜菜哥,X总在产品部瞎指挥,作为程序媛的我都快撑不住了 ...
算法对于前端工程师来说总有一层神秘色彩,这篇文章通过解读V 源码,带你探索Array.prototype.sort函数下的算法实现。 来,先把你用过的和听说过的排序算法都列出来: 快速排序 冒泡排序 插入排序 归并排序 堆排序 希尔排序 选择排序 计数排序 桶排序 基数排序 答题环节到了, sort 函数使用的以上哪一种算法 如果你在网上搜索过关于 sort 源码的文章,可能会告诉你数组长度小于 ...
2019-09-05 00:09 0 639 推荐指数:
菜菜哥,X总在产品部瞎指挥,作为程序媛的我都快撑不住了 ...
目录(?)[-] 高速引擎的需求 语言本身的问题 JIT编译 JIT Compile 垃圾回收管理 内嵌缓存inline cache 隐藏类 内嵌缓存Inline Cache 机器语言的特性 附录熟悉OOP的程序员之参考 ...
没办法了,开坑吧,接下来的几篇会讲述JavaScript字符串源码在v8中转换成AST(抽象语法树)的过程。 JS代码在V8的解析只有简单的几步,其中第一步就是将源字符串转换为抽象语法树,非常类似于vue中将html转换为VNODE的过程。该过程涉及的类并不多,均位于/src ...
引言 我们都知道谷歌浏览器chrome采用的javascript引擎是v8,node.js这样的runtime能够火遍全球,很大一部分功劳得归于v8。半年前就想自己编译v8引擎玩玩,无奈***阻挠了大部分下载,实在是体验太差,于是放弃。今天重新编译v8,先把代码从墙外的vps下载下来,再用tar ...
先声明一下,这种长系列的大块头博客只能保证尽可能的深入到每一行源码,有些代码我不乐意深究就写个注释说明一下作用。另外,由于本地整理的比较好,博客就随心写了。 整个Compile过程目前只看到asmjs之前,简单的过了几遍,大部分方法没有点进去看,实在是太复杂了。上一篇的结尾指出了AST ...
,以及如何将V8引擎作为一个独立的虚拟机来使用。本文将进一步讨论这些概念,并介绍其他有关V8引擎嵌入C++ ...
Motivation JavaScript 是一款拥有「自动垃圾回收」功能的编程语言。 市面上具有这样功能的语言,一般都是拥有相对应的虚拟机的,像 Java的JVM ,C#的CLR ,PHP的Ze ...
Node.js 线程你理解的可能是错的 本文代码运行环境 系统:MacOS High Sierra Node.js:10.3.0 复制代码 Node.js是单线程的,那么Node.js ...