01 什么是神经网络?
发表于
本文字数:
1.1k
阅读时长 ≈
4 分钟
JavaScript 引擎基础:Shapes 和 Inline Caches
发表于
本文字数:
4.3k
阅读时长 ≈
16 分钟
本文就所有 JavaScript 引擎中常见的一些关键基础内容进行了介绍——这不仅仅局限于 V8 引擎。作为一名 JavaScript 开发者,深入了解 JavaScript 引擎是如何工作的将有助于你了解自己所写代码的性能特征。关于本文,全文共由五个部分组成:
- JavaScript 引擎工作流程:介绍 JavaScript 引擎的处理流水线,这一部分会涉及到解释器/编译器的内容,且会分点介绍不同引擎间的差别与共同点;
- JavaScript 对象模型;
- 属性访问的优化:通过 Shapes、Transistion 链与树、ICs 等概念的穿插介绍引擎是如何优化获取对象属性的;
- 高效存储数组;
- Take-aways:对全文内容做了一个小结,并给了两点建议。
从代码实现方式优化性能
发表于
本文字数:
889
阅读时长 ≈
3 分钟
使用多态代替条件判断
参数传入使用平铺参数代替对象参数
没有必要包裹一层对象,增加创建和 GC 开销 benchmark高频调用函数避免使用 rest/spread 运算符,编译到 ES5 要使用循环,还要创建数组,要避免在高频场景下使用(相比正常写法相差 6 倍) benchmark,还有额外的 GC 开销
手写 map 性能不如原生 benchmark
局部化极高频变量, 例如原来是 o.a.b,优化后直接访问 a benchmark
instanceof 的条件判断可以用 map 优化
// setup.js |
复现 musicforprogramming.net 的音乐可视化效果
发表于
本文字数:
1.2k
阅读时长 ≈
4 分钟
本文将详细介绍如何通过 HTML、CSS 和 JavaScript 来实现 musicforprogramming.net 网站上的音乐可视化效果。