I have a large, fixed collection of objects which reference one
another (e.g. linked list)

There are over 1,000,000 of these objects. I've noticed that the limit
to my project's scalability is the garbage collection cycle which take
a full second to run as a result of having this many object handles in
the context. Normal operation is extremely fast, the only bottleneck
is this traversal of these objects by garbage collection. I can try to
avoid creating garbage, to limit how frequent this collection occurs,
but it's inevitable to need GC at some point, and with these objects
excluded, the GC pass would be extremely fast and no longer a
bottleneck.

So, is there any existing technique I may use to exclude this set of
objects from garbage collection? This would fix the bottleneck, and
presumably this particular problem is applicable to a huge portion of
(for example) node.js projects, thus solving one of the biggest
hurdles against even more widespread adoption of V8 (GC is often the
biggest performance bottleneck).

If there isn't an existing way to exclude objects from garbage
collection, I would like to tackle this problem personally and
contribute a patch to allow others to benefit. Is there any advice you
can give me, to point me in the right direction in the V8 source code
so I can begin?

<3

caustik

-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to