615255dd4e
- Add filter to skip baseline handlers - Make profiler types more readable - Refactor tickprocessor test to use serialized symbols - Add large tickprocessor stress test with a complete V8 log Change-Id: Icc09c2eb8ea63c1805d793d2d47f79b0d5080b5b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2784686 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/master@{#74094}
86 lines
5.4 KiB
Plaintext
86 lines
5.4 KiB
Plaintext
Statistical profiling result from v8.log, (303 ticks, 0 unaccounted, 0 excluded).
|
|
|
|
[Shared libraries]:
|
|
ticks total nonlib name
|
|
9 3.0% /usr/local/google/home/cbruni/Documents/v8/v8/out/x64.release/d8
|
|
6 2.0% /usr/lib/x86_64-linux-gnu/libc-2.31.so
|
|
|
|
[JavaScript]:
|
|
ticks total nonlib name
|
|
102 33.7% 35.4% LazyCompile: *<anonymous> test/mjsunit/tools/tickprocessor-test.js:1:1
|
|
25 8.3% 8.7% LazyCompile: *ics test/mjsunit/tools/tickprocessor-test.js:47:13
|
|
21 6.9% 7.3% LazyCompile: *loop test/mjsunit/tools/tickprocessor-test.js:10:14
|
|
|
|
[C++]:
|
|
ticks total nonlib name
|
|
99 32.7% 34.4% v8_Default_embedded_blob_code_data_
|
|
12 4.0% 4.2% __write
|
|
3 1.0% 1.0% fwrite
|
|
2 0.7% 0.7% v8::internal::RootScavengeVisitor::VisitRootPointer(v8::internal::Root, char const*, v8::internal::FullObjectSlot)
|
|
2 0.7% 0.7% __pthread_mutex_unlock_usercnt
|
|
2 0.7% 0.7% __libc_malloc
|
|
2 0.7% 0.7% _IO_file_xsputn
|
|
1 0.3% 0.3% v8::internal::compiler::TopLevelLiveRange::AddUseInterval(v8::internal::compiler::LifetimePosition, v8::internal::compiler::LifetimePosition, v8::internal::Zone*, bool)
|
|
1 0.3% 0.3% v8::internal::compiler::Scheduler::PrepareUses()
|
|
1 0.3% 0.3% v8::internal::compiler::CommonOperatorBuilder::CommonOperatorBuilder(v8::internal::Zone*)
|
|
1 0.3% 0.3% v8::internal::SpaceWithLinearArea::AdvanceAllocationObservers()
|
|
1 0.3% 0.3% v8::internal::SerializerDeserializer::Iterate(v8::internal::Isolate*, v8::internal::RootVisitor*)
|
|
1 0.3% 0.3% v8::internal::Log::MessageBuilder::AppendString(char const*, unsigned long, bool)
|
|
1 0.3% 0.3% v8::internal::LargeObjectSpace::SizeOfObjects()
|
|
1 0.3% 0.3% v8::internal::Heap::Scavenge()
|
|
1 0.3% 0.3% v8::internal::Heap::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment)
|
|
1 0.3% 0.3% v8::internal::Heap::AllocateRaw(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment)
|
|
1 0.3% 0.3% v8::OutputStream::GetChunkSize()
|
|
1 0.3% 0.3% std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char)
|
|
1 0.3% 0.3% std::__1::num_put<char, std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > >::do_put(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, std::__1::ios_base&, char, long) const
|
|
1 0.3% 0.3% std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(unsigned long)
|
|
1 0.3% 0.3% int v8::internal::Deserializer::ReadSingleBytecodeData<v8::internal::SlotAccessorForHeapObject>(unsigned char, v8::internal::SlotAccessorForHeapObject)
|
|
1 0.3% 0.3% __pthread_cond_wait
|
|
1 0.3% 0.3% __pthread_cond_signal
|
|
1 0.3% 0.3% Cr_z_inflate_fast_chunk_
|
|
|
|
[Summary]:
|
|
ticks total nonlib name
|
|
148 48.8% 51.4% JavaScript
|
|
140 46.2% 48.6% C++
|
|
20 6.6% 6.9% GC
|
|
15 5.0% Shared libraries
|
|
|
|
[C++ entry points]:
|
|
ticks cpp total name
|
|
93 93.9% 30.7% v8_Default_embedded_blob_code_data_
|
|
4 4.0% 1.3% v8::internal::Runtime_CompileForOnStackReplacement(int, unsigned long*, v8::internal::Isolate*)
|
|
2 2.0% 0.7% v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*)
|
|
|
|
[Bottom up (heavy) profile]:
|
|
Note: percentage shows a share of a particular caller in the total
|
|
amount of its parent calls.
|
|
Callers occupying less than 1.0% are not shown.
|
|
|
|
ticks parent name
|
|
102 33.7% LazyCompile: *<anonymous> test/mjsunit/tools/tickprocessor-test.js:1:1
|
|
|
|
99 32.7% v8_Default_embedded_blob_code_data_
|
|
76 76.8% LazyCompile: *<anonymous> test/mjsunit/tools/tickprocessor-test.js:1:1
|
|
16 16.2% LazyCompile: *ics test/mjsunit/tools/tickprocessor-test.js:47:13
|
|
16 100.0% Script: ~<anonymous> test/mjsunit/tools/tickprocessor-test.js:1:1
|
|
1 1.0% Script: ~<anonymous> test/mjsunit/tools/tickprocessor-test.js:1:1
|
|
|
|
25 8.3% LazyCompile: *ics test/mjsunit/tools/tickprocessor-test.js:47:13
|
|
25 100.0% Script: ~<anonymous> test/mjsunit/tools/tickprocessor-test.js:1:1
|
|
|
|
21 6.9% LazyCompile: *loop test/mjsunit/tools/tickprocessor-test.js:10:14
|
|
21 100.0% Script: ~<anonymous> test/mjsunit/tools/tickprocessor-test.js:1:1
|
|
|
|
12 4.0% __write
|
|
|
|
9 3.0% /usr/local/google/home/cbruni/Documents/v8/v8/out/x64.release/d8
|
|
4 44.4% LazyCompile: ~ics test/mjsunit/tools/tickprocessor-test.js:47:13
|
|
4 100.0% Script: ~<anonymous> test/mjsunit/tools/tickprocessor-test.js:1:1
|
|
2 22.2% Script: ~<anonymous> test/mjsunit/tools/tickprocessor-test.js:1:1
|
|
2 22.2% LazyCompile: ~read_megamorphic test/mjsunit/tools/tickprocessor-test.js:35:26
|
|
2 100.0% LazyCompile: ~ics test/mjsunit/tools/tickprocessor-test.js:47:13
|
|
2 100.0% Script: ~<anonymous> test/mjsunit/tools/tickprocessor-test.js:1:1
|
|
|
|
6 2.0% /usr/lib/x86_64-linux-gnu/libc-2.31.so
|