Hi Kenny,

I think there are two different issues here. One is speedups because of the
Crankshaft adaptive compilation infrastructure which is what is in V8 3.0.
The other is the removal of GC in connection with context disposals which
happened before V8 3.0 and is completely independent.

We used to force a garbage collection on context *creation* if a context had
been disposed since the last GC. This is bad for app startup performance
because (in the browser) that means that you get the GC during page load.
The mechanism that we use now is to notify V8 of context disposals and use
idle notifications to clean up after context disposals. If you notify V8 of
context disposals and then decide when to call IdleNotification (when your
app is believed to be idle so it does not interfere too much with other
operations) I think that will help with memory consumption. For the approach
currently used in Chrome have a look at this webkit patch:
https://bugs.webkit.org/attachment.cgi?id=49797&action=diff

Thanks,    -- Mads

On Tue, Jan 11, 2011 at 4:38 PM, hua ye <[email protected]> wrote:

> Hi guys,
>
> Recently, I am comparing the performance of v83.0 and the old versions.
>
> I found that 3.0 has great improvement in the speed of running script. But,
> the memory usage keeps high.
> We use V8 as the engine to run script content in html pages. We also have
> the binding of DOM objec like what is done in Chrome. A v8 context is
> created when processing a HTML page and disposed at finishing. Then, a new
> HTML page comes, a new context created....
>
> 3.0 has an impressive speed in run scripts, but it used much memory than
> 2.0. And the memory usage keeps increasing.
> I noticed that v3.0 removed GC from Context::New(), it may be the primary
> reason of speed enhance.
>
> Then, my question is:
>
> In 3.0, when will v8 performe GC? Should the caller invoke GC explicitly
> like call v8::V8::LowMemoryNotification()?
> I have tried this, but the speed then decreases dramaticlly. You know that
> is not what I want.
>
> Is there any idea to keep the super speed of new V8 and at the same we can
> control the memory usage?
>
> Best Regards,
> Kenny
>
>
>
>
>  --
> v8-users mailing list
> [email protected]
> http://groups.google.com/group/v8-users

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

Reply via email to