我们先来看看 inferno.js 是什么:
An extremely fast, React-like JavaScript library for building modern user interfaces
好吧,注意用词 :extremely;
同时还有:
Inferno is an insanely fast, 9kb React-like library for building high-performance user interfaces on both the client and server.
这时候的用词:insanely;
当然,最基本的是 React-like,如果你还不了解它是什么,可以自己先看下,不再过多介绍。
对于其高性能的展现以及 benchmark,其官方从四个维度展示了样例:
Virtual DOM Benchmark
UI Bench
dbmonster
JS Web Frameworks Benchmark - Round 6
自从诞生起,inferno.js 的定位就是高性能,高效率。作为 react-like 类库,做到高效的最重要一环当然就是对于 virtual dom 的 diff,这个 diff 算法的优劣,以及虚拟 dom 相关周边的一切(包括 batching 等)非常重要。
这方面内容,我觉得
@司徒正美
非常有发言权。
如果司徒大大有时间,可以亲自来说说。下面回答前半部分内容,源自司徒正美的积累和分享(出处:去哪儿网迷你React的研发心得 - javascript魔法师 - SegmentFault)。
虚拟