2010-12-06 96 views

回答

1

我却意外地发送每完成请求2个新的请求。一端靠近,另一端靠近。

+0

您应该将此标记为接受的答案,即使这是您自己的答案。 – Kynth 2010-12-08 10:29:02

1

我在0.3.1上,GC在这里正常踢。

使用node --trace_gc test.js,这几乎达到5MB:

[email protected]:~/Desktop$ node --trace_gc test.js 
Scavenge 0.9 -> 1.0 MB, 1 ms. 
Scavenge 1.9 -> 1.8 MB, 0 ms. 
Scavenge 2.6 -> 1.9 MB, 1 ms. 
Mark-sweep 2.9 -> 1.8 MB, 6 ms. 
Scavenge 2.8 -> 1.8 MB, 0 ms. 
Scavenge 2.9 -> 1.9 MB, 0 ms. 

另一个试验:

[email protected]:~/Desktop$ node --trace_gc test.js 
Scavenge 0.9 -> 1.0 MB, 1 ms. 
Scavenge 1.9 -> 1.8 MB, 0 ms. 
Scavenge 2.6 -> 1.9 MB, 1 ms. 
Mark-sweep 1.9 -> 1.8 MB, 4 ms. 
Mark-sweep 1.8 -> 1.7 MB, 3 ms. 
Mark-compact 1.7 -> 1.7 MB, 11 ms. 
Scavenge 2.3 -> 1.8 MB, 0 ms. 
Scavenge 2.3 -> 1.8 MB, 0 ms. 
Scavenge 2.3 -> 1.8 MB, 0 ms. 
Scavenge 2.0 -> 1.9 MB, 0 ms. 
Mark-sweep 1.9 -> 1.6 MB, 3 ms. 
Mark-compact 1.6 -> 1.6 MB, 10 ms. 

V8是很聪明的,当谈到GC'ing,有一件事你可能想要看出来的是你不会在全局列表中推送一些引用等,因为它会保留活动引用内的任何内容。

如果你真的在处理大量的数据,请考虑使用Buffer并实时重新分配,特别是在0.3.x缓冲区中速度非常快。

+0

感谢您的检查 – richcollins 2010-12-08 04:12:29