Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – Nodejs profiling:parent in(切片字符串)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我描述了我的nodejs应用程序,并看到一些奇怪的字符串,它被标记为父级(切片字符串). @H_673_5@ @H_673_5@我使用v8-profiler和node-inspector.

@H_673_5@这是探查器屏幕的照片(抱歉照片,不是截图,只是我的系统真的超载,没有足够的空间来制作屏幕):http://i.imgur.com/dkkPbGA.jpg

@H_673_5@所以,我的问题是,(切片字符串)字符串中的父母是什么?

@H_673_5@UPD:经过一些审查看起来像我理解,当我在字符串上切片时,它存储了父字符串(是优化吗?).结果这个父母的字符串在记忆中.复制这个拼接的字符串后,看起来这个父字符串已从内存中清除.我对吗?

解决方法

是的,这是一个优化.如果你有一个长字符串var longString =“abc …”,并且你从它创建一个子字符串(又名“slice”)var short = longString.substr(20,30),那么这些字符实际上并没有复制到记忆;相反,short在内部只是表示为| longString |的一部分从索引20开始,长度为30,longString称为short的“parent”.只要您的代码保持对short的引用,垃圾收集器就无法释放longString. @H_673_5@ @H_673_5@(为了记录,我们(V8开发人员)知道这种优化会对内存消耗产生负面影响,因为当复制出仍然需要的部分会占用更少的内存时,它可能会导致长字符串保持活动状态.问题是在一般情况下,计算该操作是否有意义(因为仍然只需要一个块)(因为有许多重叠的切片,当它们相加时,会占用比共享父级更多的内存),相当昂贵并会使垃圾收集器慢一点.)

大佬总结

以上是大佬教程为你收集整理的node.js – Nodejs profiling:parent in(切片字符串)全部内容,希望文章能够帮你解决node.js – Nodejs profiling:parent in(切片字符串)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。