This repository has been archived by the owner on Oct 23, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 67
eachLimit 21万个元素的数组,经常到几万的时候就停止了 #28
Comments
程序运行正常,只是eachLimit的iterator不继续执行了 |
写了个简单的测试,node.js v6 下跑并没有问题 'use strict'
/* global console */
const Thenjs = require('then.js')
const list = []
console.time('create list')
for (let i = 0; i < 200000; i++) {
list[i] = i
}
console.timeEnd('create list')
Thenjs.eachLimit(list, function (cont, value) {
if (value % 1000 === 0) console.log(value)
setTimeout(() => cont(null, value * 2), 0)
}, 100)
.then(function (cont, result) {
console.log('End:', result)
}) |
建议监控一下内容占用,是不是逻辑问题导致了频繁 GC 之类 |
我是v6.9.1 demo运行没有问题 |
发现一个情况就是这个demo在运行过程中内存占用也会越来越多,是有什么引用导致内存无法及时释放吗? |
eachLimit 全部完成才会释放数组啊,你说的“运行过程中内存占用也会越来越多”是什么情况 |
并不是一出scope就立刻/马上GC的,只是被tag成'unneccessary',然后等STW的时候一起回收掉。 |
带上 |
参考 tj/co#180 监测内存占用 |
释放是被动的 |
谢谢大家,我再继续观察一下 |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
eachLimit 21万个元素的数组,经常到几万的时候就停止了,亲们有遇到过吗?
The text was updated successfully, but these errors were encountered: