菜菜哥,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 ...