看了阮一峰的ES6教程,关于尾调用优化的地方不是太明白。
我想问一下,如何在chrome来监控内存的变化。
我是在Memory里的Take Heap Snapshot 中检查内存的,
但是我不知道我应该关注哪一部分的数据。
代码如图:
楼主能够使用 Take Heap Snapshot 查看内存使用,相比 JS 学的确实很不错了。不过很遗憾,这个根本看不出来,因为 V8 引擎好像还没有使用尾调用优化方案。
尾调用优化(Syntactic Tail Calls (STC))目前还是 Stage 0 Draft 阶段。
从技术角度讲,V8 完全可以实现尾调用优化,但是由于各种原因,主要是异常堆栈的跟踪,V8 并没有使用 STC。
这个再我的 SF 讲座:前端程序员应该懂点 V8 知识 中专门讲了这个知识点。
虽然这个规范还只是一个草案,但是我们有理由相信在不久的将来这个一定会进入 ES 标准。
Discussion and specification for an explicit syntactic opt-in for Tail Calls
Syntactic Tail Calls
楼主能够使用 Take Heap Snapshot 查看内存使用,相比 JS 学的确实很不错了。不过很遗憾,这个根本看不出来,因为 V8 引擎好像还没有使用尾调用优化方案。
尾调用优化(Syntactic Tail Calls (STC))目前还是 Stage 0 Draft 阶段。
从技术角度讲,V8 完全可以实现尾调用优化,但是由于各种原因,主要是异常堆栈的跟踪,V8 并没有使用 STC。
这个再我的 SF 讲座:前端程序员应该懂点 V8 知识 中专门讲了这个知识点。
虽然这个规范还只是一个草案,但是我们有理由相信在不久的将来这个一定会进入 ES 标准。
参考资料
Discussion and specification for an explicit syntactic opt-in for Tail Calls
Syntactic Tail Calls