Andrei Sedoi | 24 Jul 2012 14:53
Picon
Gravatar

techniques to reduce GC pauses

Does it make sense to apply techniques which reduce GC pauses (like reusing objects instead of creating and other techniques described here  http://www.scirra.com/blog/76/how-to-write-low-garbage-real-time-javascript) to node.js applications?

--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nodejs-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
nodejs+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
Mark Hahn | 24 Jul 2012 19:39
Gravatar

Re: techniques to reduce GC pauses

Has anyone here had a problem with GC pauses in node?

On Tue, Jul 24, 2012 at 5:53 AM, Andrei Sedoi <bsnote-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
Does it make sense to apply techniques which reduce GC pauses (like reusing objects instead of creating and other techniques described here  http://www.scirra.com/blog/76/how-to-write-low-garbage-real-time-javascript) to node.js applications?

--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nodejs-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
nodejs+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nodejs-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
nodejs+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
Jimb Esser | 24 Jul 2012 20:22
Picon
Gravatar

Re: techniques to reduce GC pauses

We have had enormous issues with GC pauses in node, see this thread from last week:


https://groups.google.com/d/msg/nodejs/BO6JdYi4n2k/tTDoE-gH6FgJ

We pretty much already do the things in that article, and some of them helped.  Doing a pass through our code and removing all things like .forEach() calls that required a dynamic closure did quite a bit to reduce the amount of GC going on, but there are still very significant stalls from the on-idle full garbage collect (which seems to take a long time regardless of how much actually gets collected).  Based on comments from that earlier thread, we've turned off the on-idle GC, and some initial testing shows that our process uses exactly as much memory as it did before (GC is still perfectly functional) and no longer stalls (in some mostly idle processes, average CPU usage went from a constant 20% to 0.1%).  We'll be rolling out this change to our live servers today and hopefully it won't have any unforseen side effects =).

On Tuesday, July 24, 2012 10:39:35 AM UTC-7, Mark Hahn wrote:
Has anyone here had a problem with GC pauses in node?

On Tue, Jul 24, 2012 at 5:53 AM, Andrei Sedoi <bsn...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
Does it make sense to apply techniques which reduce GC pauses (like reusing objects instead of creating and other techniques described here  http://www.scirra.com/blog/76/how-to-write-low-garbage-real-time-javascript) to node.js applications?

--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nodejs-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
nodejs+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Gmane