Status: New
Owner: ----
New issue 957 by [email protected]: bad V8 performance on floating
point intensive cases
http://code.google.com/p/v8/issues/detail?id=957
V8 performs poor on some floating point intensive cases, for example,
the "imaging-darkroom" and "imaging-desaturate" in Kraken benchmark
(http://krakenbenchmark.mozilla.com/). For those two cases Firefox 4.0 w/
JaegerMonkey+TraceMonkey performs 2~3X better than Chromium w/ V8.
The analysis shows that Chromium/ V8 spends >30% time on GC mostly in young
generations and >10% time on generic arithmetic operations, which is caused
by the fact that floating points are not primitives and are wrapped as JS
HeapNumber objects in V8. This introduces big overhead in arithmetic
operations and frequently allocated short lived objects (holding temporary
results) that causes frequent GC.
Here's some selected heap profiling log -
heap-sample-begin,"NewSpace","allocated",1287560593834
heap-sample-item,HEAP_NUMBER_TYPE,699050,8388600
heap-sample-end,"NewSpace","allocated"
We could see that the young generation is full of the HeapNumber objects.
We may need to improve such cases, for example, trying to generate type
specific code like what TraceMonkey is doing?
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev