2010-12-06 5 views

答えて

1

私は偶然、各完了した要求のための2つの新しい要求を送信しました。終わりに1つ、終わりに1つ。

+0

あなた自身のものであっても、これを受け入れられた回答としてフラグを立てる必要があります。 – Kynth

1

私は0.3.1にあり、GCは通常ここでキックします。 node --trace_gc test.jsを使用して

、これはほとんど到達しない5メガバイト:

[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. 

別の実行:それはGC'ingに来るとき

[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は非常に知的で、一つのことあなたがあるために外を見るしたいかもしれませんグローバルリストなどで参照をプッシュしないようにします。これは、その参照の内部にあるものをすべて保持するためです。

実際に大量のデータを処理する場合は、Bufferの使用を検討し、特に0.3.xのバッファは非常に高速です。

+0

ありがとうございます – richcollins

関連する問題