2010-12-06 48 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