On 2014/06/30 09:10:17, Yang wrote:
On 2014/06/30 09:08:06, jianghua wrote:
> On 2014/06/30 06:12:55, Sven Panne wrote:
> > NOT LGTM: I don't think that anything deoptimizer-related is really
> > performance-critical. (If we have benchmarks for this, I'd like too see
them.)
> > Furthermore, *if* we decide to improve this, we should really use
> > std::binary_search: Making DeoptimizationOutputData a ForwardIterator is
very
> > easy, much less error-prone than writing the n-th binary search by hand
and
> much
> > more readable and flexible.
>
> I used OProfile to take a look d8's hot functions.
>
> command : d8 run.js
>
>
> here is result:
> CPU: CPU with timer interrupt, speed 2472.74 MHz (estimated)
> Profiling through timer interrupt
> samples  %        symbol name
> 1166      5.3772  v8::internal::UseInterval::start() const
> 995       4.5886  v8::internal::LiveRange::first_interval() const
> 523       2.4119  v8::internal::HSuccessorIterator::Done()
> 501       2.3105
v8::internal::HandleScope::ZapRange(v8::internal::Object**,
> v8::internal::Object**)
> 468       2.1583  v8::internal::Object::Number()
> 432       1.9923  v8::internal::Runtime_Interrupt(int,
v8::internal::Object**,
> v8::internal::Isolate*)
> 382       1.7617  v8::internal::LAllocator::UnhandledIsSorted()
> 355       1.6372  v8::internal::HBasicBlock::dominator() const
> 348       1.6049  v8::internal::LiveRange::Start() const
> 330       1.5219  v8::internal::FixedArray::get(int)
> 314       1.4481  v8::internal::HeapObject::map_word()
> 310       1.4296  v8::internal::Heap::ZapFromSpace()
> 307       1.4158  v8::internal::List<v8::internal::LiveRange*,
> v8::internal::ZoneAllocationPolicy>::operator[](int) const
> 301       1.3881  v8::internal::LiveRange::IsEmpty() const
> 297       1.3697  v8::internal::HBasicBlock::block_id() const
> 246       1.1345  v8::internal::LifetimePosition::Value() const
> 242       1.1160  v8::internal::DeoptimizationOutputData::AstId(int)
> 237       1.0930  v8::internal::List<v8::internal::LiveRange*,
> v8::internal::ZoneAllocationPolicy>::at(int) const
> 221       1.0192  v8::internal::EnumSet<v8::internal::GVNFlag,
> int>::Add(v8::internal::GVNFlag)
> 206 0.9500 v8::internal::Internals::SmiValue(v8::internal::Object*)
> 203       0.9362
v8::internal::SmiTagging<8ul>::SmiToInt(v8::internal::Object*)
> 198       0.9131  v8::internal::HBasicBlock::end() const
> 191       0.8808
v8::internal::Runtime_StringReplaceGlobalRegExpWithString(int,
> v8::internal::Object**, v8::internal::Isolate*)
> 189       0.8716
> v8::internal::HBasicBlock::Dominates(v8::internal::HBasicBlock*) const
> 188       0.8670  v8::internal::Scanner::DoubleValue()
> 181       0.8347
>

v8::internal::Deoptimizer::GetOutputInfo(v8::internal::DeoptimizationOutputData*,
> v8::internal::BailoutId, v8::internal::SharedFunctionInfo*)
> 174       0.8024  v8::internal::Smi::value()
> 148       0.6825  v8::internal::HTemplateControlInstruction<1,
> 0>::SuccessorAt(int)
>
>
> 0.8347  v8::internal::Deoptimizer::GetOutputInfo cost 0.8% , After I
optimize
it
> , Oprofile shows it reduce the time cost.

What's that run.js you are referring to?

oo, it's v8/benchmarks/run.js

https://codereview.chromium.org/334713011/

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to