领先的JavaScript引擎的代码和数据足迹是什么? (V8,Squirrelfish,TraceMonkey ..)

时间:2008-11-19 09:53:02

标签: javascript v8 footprint tracemonkey squirrelfish

由于顶级Javascript引擎的速度似乎相同,下一个标准是足迹。领先的JavaScript引擎的代码和数据足迹是什么?

2 个答案:

答案 0 :(得分:2)

squirrelfish应该拥有最小的足迹(我记得我在某处读过它使用了从JS代码到本机代码的非常简单的转换表),但是如果你想要一些非常小的东西,你应该看看早期的js引擎(不要使用原生代码)代码表)因为他们在代码中解释代码,并且不会根据当前机器编译整个代码。

我没有看到比较js引擎的重点,因为它们基本上是单线程的(新的引擎是多线程的,但这是来自新的“高度优化”引擎)并且它们只加载一次,然后解释兆字节JS代码...速度比尺寸更重要..即使对于移动设备,因为我不希望JS引擎使用超过1-2Mb的内存(在我看来,这甚至是太多了)但是基于JS的页面中JS脚本的总和可以很容易地传递它。

答案 1 :(得分:0)

V8是具有更高性能指标的最佳引擎AFAIK,具有更小的内存占用。 V8基于上下文将每个JS对象加载到内存中,并使用分代垃圾收集器,这意味着收集更多的运行时内存,性能开销较小。

如果您将代码和数据大小视为纯二进制大小,则V8优于大多数当前性能较高的引擎,只有KB的二进制大小。

在V8中,所有内置对象(如数组,数学等)也都是动态加载的JS文件。由于内置对象驻留在VM上时非常轻,因此如果需要更多性能而牺牲内存,我们也可以将其作为静态代码。