Created
February 27, 2018 09:52
-
-
Save agreatfool/0a77653e033db0779e55993f97ed65ca to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Statistical profiling result from isolate-0x103000000-v8.log, (20819 ticks, 582 unaccounted, 0 excluded). | |
[Shared libraries]: | |
ticks total nonlib name | |
38 0.2% /usr/lib/system/libsystem_malloc.dylib | |
22 0.1% /usr/lib/system/libsystem_kernel.dylib | |
9 0.0% /usr/lib/system/libsystem_platform.dylib | |
4 0.0% /usr/lib/system/libsystem_c.dylib | |
1 0.0% /usr/lib/system/libsystem_pthread.dylib | |
[JavaScript]: | |
ticks total nonlib name | |
12 0.1% 0.1% Builtin: InterpreterEntryTrampoline | |
10 0.0% 0.0% Builtin: CallFunction_ReceiverIsAny | |
4 0.0% 0.0% Function: ~emit events.js:155:44 | |
4 0.0% 0.0% Builtin: StoreICStrict | |
3 0.0% 0.0% Builtin: KeyedLoadIC | |
2 0.0% 0.0% Stub: CallICStubANY, DISALLOW_TAIL_CALLS | |
2 0.0% 0.0% Function: ~setHeader _http_outgoing.js:495:57 | |
2 0.0% 0.0% Function: ~removeAllListeners events.js:408:32 | |
2 0.0% 0.0% Function: ~insert timers.js:154:16 | |
2 0.0% 0.0% Function: ~fs.readFileSync fs.js:550:27 | |
2 0.0% 0.0% Function: ~end _http_outgoing.js:721:45 | |
2 0.0% 0.0% Function: ~Module._resolveLookupPaths module.js:331:38 | |
2 0.0% 0.0% Builtin: LoadIC_Uninitialized | |
2 0.0% 0.0% Builtin: KeyedLoadIC_Megamorphic | |
1 0.0% 0.0% Stub: StringAddStub_CheckNone_NotTenured | |
1 0.0% 0.0% Stub: RecordWriteStub {1} | |
1 0.0% 0.0% Stub: RecordWriteStub | |
1 0.0% 0.0% Stub: JSEntryStub | |
1 0.0% 0.0% Stub: CEntryStub | |
1 0.0% 0.0% RegExp: ^[!#$%&'*+.^_`|~0-9A-Za-z-]+\\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$ | |
1 0.0% 0.0% RegExp: [\\r\\n] | |
1 0.0% 0.0% Function: ~writeHead _http_server.js:183:19 | |
1 0.0% 0.0% Function: ~tryReadSync fs.js:538:21 | |
1 0.0% 0.0% Function: ~shift internal/process/next_tick.js:30:8 | |
1 0.0% 0.0% Function: ~send /Users/Jonathan/Prog/Codes/NodeJs/node-profile-sample/profile/node_modules/express/lib/response.js:107:25 | |
1 0.0% 0.0% Function: ~resume_ _stream_readable.js:822:17 | |
1 0.0% 0.0% Function: ~resolve path.js:1159:28 | |
1 0.0% 0.0% Function: ~resOnFinish _http_server.js:507:21 | |
1 0.0% 0.0% Function: ~realpathSync fs.js:1579:40 | |
1 0.0% 0.0% Function: ~pushValueToArray bootstrap_node.js:209:30 | |
1 0.0% 0.0% Function: ~parserOnMessageComplete _http_common.js:146:33 | |
1 0.0% 0.0% Function: ~parserOnIncoming _http_server.js:543:26 | |
1 0.0% 0.0% Function: ~parseQueryStringValues /Users/Jonathan/Prog/Codes/NodeJs/node-profile-sample/profile/node_modules/qs/lib/parse.js:19:50 | |
1 0.0% 0.0% Function: ~onParserExecute _http_server.js:445:25 | |
1 0.0% 0.0% Function: ~onFinish _http_outgoing.js:717:18 | |
1 0.0% 0.0% Function: ~nullCheck fs.js:157:19 | |
1 0.0% 0.0% Function: ~normalizeStringPosix path.js:99:30 | |
1 0.0% 0.0% Function: ~nextTick internal/process/next_tick.js:245:20 | |
1 0.0% 0.0% Function: ~merge /Users/Jonathan/Prog/Codes/NodeJs/node-profile-sample/profile/node_modules/qs/lib/utils.js:48:31 | |
1 0.0% 0.0% Function: ~listOnTimeout timers.js:205:23 | |
1 0.0% 0.0% Function: ~getHeader _http_outgoing.js:521:57 | |
1 0.0% 0.0% Function: ~get _stream_duplex.js:81:6 | |
1 0.0% 0.0% Function: ~fastparse /Users/Jonathan/Prog/Codes/NodeJs/node-profile-sample/profile/node_modules/parseurl/index.js:95:20 | |
1 0.0% 0.0% Function: ~checkIsHttpToken _http_common.js:281:26 | |
1 0.0% 0.0% Function: ~_writeRaw _http_outgoing.js:246:19 | |
1 0.0% 0.0% Function: ~_tickCallback internal/process/next_tick.js:151:25 | |
1 0.0% 0.0% Function: ~_storeHeader _http_outgoing.js:283:22 | |
1 0.0% 0.0% Function: ~_combinedTickCallback internal/process/next_tick.js:129:33 | |
1 0.0% 0.0% Function: ~WritableState _stream_writable.js:41:23 | |
1 0.0% 0.0% Function: ~Writable.cork _stream_writable.js:294:35 | |
1 0.0% 0.0% Function: ~TickObject internal/process/next_tick.js:234:16 | |
1 0.0% 0.0% Function: ~Stream internal/streams/legacy.js:6:16 | |
1 0.0% 0.0% Function: ~ReadableState _stream_readable.js:61:23 | |
1 0.0% 0.0% Function: ~Readable.read _stream_readable.js:368:35 | |
1 0.0% 0.0% Function: ~MapFindEntry native collection.js:40:22 | |
1 0.0% 0.0% Function: ~EventEmitter.init events.js:61:29 | |
1 0.0% 0.0% Function: ~<anonymous> /Users/Jonathan/Prog/Codes/NodeJs/node-profile-sample/profile/node_modules/http-errors/node_modules/setprototypeof/index.js:1:11 | |
1 0.0% 0.0% Builtin: ToString | |
1 0.0% 0.0% Builtin: StringIndexOf | |
1 0.0% 0.0% Builtin: RegExpPrototypeExecSlow | |
1 0.0% 0.0% Builtin: LoadIC_Noninlined | |
1 0.0% 0.0% Builtin: KeyedStoreICStrict | |
1 0.0% 0.0% Builtin: JSConstructStubApi | |
1 0.0% 0.0% Builtin: InterpreterPushUndefinedAndArgsThenCallFunction | |
1 0.0% 0.0% Builtin: FunctionPrototypeHasInstance | |
1 0.0% 0.0% Builtin: CallFunction_ReceiverIsNullOrUndefined | |
1 0.0% 0.0% Builtin: CallBoundFunction | |
1 0.0% 0.0% Builtin: ArgumentsAdaptorTrampoline | |
[C++]: | |
ticks total nonlib name | |
19730 94.8% 95.1% T node::crypto::PBKDF2(v8::FunctionCallbackInfo<v8::Value> const&) | |
40 0.2% 0.2% t node::(anonymous namespace)::ContextifyScript::New(v8::FunctionCallbackInfo<v8::Value> const&) | |
17 0.1% 0.1% t node::Read(v8::FunctionCallbackInfo<v8::Value> const&) | |
9 0.0% 0.0% T v8::internal::compiler::LinearScanAllocator::AllocateRegisters() | |
9 0.0% 0.0% T v8::internal::compiler::CodeAssemblerLabel::UpdateVariablesAfterBind() | |
8 0.0% 0.0% t node::InternalModuleReadFile(v8::FunctionCallbackInfo<v8::Value> const&) | |
6 0.0% 0.0% T v8::internal::compiler::LinearScanAllocator::FindFreeRegistersForRange(v8::internal::compiler::LiveRange*, v8::internal::Vector<v8::internal::compiler::LifetimePosition>) | |
6 0.0% 0.0% T v8::internal::Zone::New(unsigned long) | |
6 0.0% 0.0% T v8::internal::BitVector::Iterator::Advance() | |
5 0.0% 0.0% T node::TTYWrap::New(v8::FunctionCallbackInfo<v8::Value> const&) | |
4 0.0% 0.0% t void node::Buffer::(anonymous namespace)::StringSlice<(node::encoding)1>(v8::FunctionCallbackInfo<v8::Value> const&) | |
4 0.0% 0.0% t node::InternalModuleStat(v8::FunctionCallbackInfo<v8::Value> const&) | |
4 0.0% 0.0% T v8::internal::compiler::MoveOptimizer::RemoveClobberedDestinations(v8::internal::compiler::Instruction*) | |
4 0.0% 0.0% T v8::internal::compiler::LiveRangeBuilder::ProcessInstructions(v8::internal::compiler::InstructionBlock const*, v8::internal::BitVector*) | |
3 0.0% 0.0% t v8::internal::StaticMarkingVisitor<v8::internal::IncrementalMarkingMarkingVisitor>::MarkMapContents(v8::internal::Heap*, v8::internal::Map*) | |
3 0.0% 0.0% t node::Binding(v8::FunctionCallbackInfo<v8::Value> const&) | |
3 0.0% 0.0% T void node::StreamBase::JSMethod<node::StreamWrap, &(node::StreamBase::Writev(v8::FunctionCallbackInfo<v8::Value> const&))>(v8::FunctionCallbackInfo<v8::Value> const&) | |
3 0.0% 0.0% T v8::internal::compiler::MoveOptimizer::FinalizeMoves(v8::internal::compiler::Instruction*) | |
3 0.0% 0.0% T v8::internal::compiler::LiveRangeConnector::ResolveControlFlow(v8::internal::Zone*) | |
3 0.0% 0.0% T v8::internal::compiler::LiveRangeConnector::ConnectRanges(v8::internal::Zone*) | |
3 0.0% 0.0% T v8::internal::compiler::LiveRangeBuilder::Use(v8::internal::compiler::LifetimePosition, v8::internal::compiler::LifetimePosition, v8::internal::compiler::InstructionOperand*, void*, v8::internal::compiler::UsePositionHintType) | |
3 0.0% 0.0% T v8::internal::compiler::ConstraintBuilder::MeetConstraintsAfter(int) | |
3 0.0% 0.0% T v8::internal::compiler::CodeAssemblerLabel::MergeVariables() | |
3 0.0% 0.0% T v8::internal::Scanner::ScanIdentifierOrKeyword() | |
3 0.0% 0.0% T v8::internal::Scanner::Scan() | |
2 0.0% 0.0% t v8::internal::compiler::OperandGenerator::ToConstant(v8::internal::compiler::Node const*) | |
2 0.0% 0.0% t v8::internal::compiler::BaseWithIndexAndDisplacementMatcher<v8::internal::compiler::AddMatcher<v8::internal::compiler::BinopMatcher<v8::internal::compiler::IntMatcher<long long, (v8::internal::compiler::IrOpcode::Value)24>, v8::internal::compiler::IntMatcher<long long, (v8::internal::compiler::IrOpcode::Value)24> >, (v8::internal::compiler::IrOpcode::Value)238, (v8::internal::compiler::IrOpcode::Value)240, (v8::internal::compiler::IrOpcode::Value)242, (v8::internal::compiler::IrOpcode::Value)234> >::Initialize(v8::internal::compiler::Node*, v8::base::Flags<v8::internal::compiler::AddressOption, unsigned char>) | |
2 0.0% 0.0% t v8::internal::compiler::(anonymous namespace)::OperandSet::ContainsOpOrAlias(v8::internal::compiler::InstructionOperand const&) const | |
2 0.0% 0.0% t v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<false>(v8::internal::Isolate*, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::FunctionTemplateInfo>, v8::internal::Handle<v8::internal::Object>, v8::internal::BuiltinArguments) | |
2 0.0% 0.0% t v8::internal::JSObjectWalkVisitor<v8::internal::AllocationSiteUsageContext>::StructureWalk(v8::internal::Handle<v8::internal::JSObject>) | |
2 0.0% 0.0% t v8::internal::ConsString* v8::internal::String::VisitFlat<v8::internal::IteratingStringHasher>(v8::internal::IteratingStringHasher*, v8::internal::String*, int) | |
2 0.0% 0.0% t node::LStat(v8::FunctionCallbackInfo<v8::Value> const&) | |
2 0.0% 0.0% T v8::internal::compiler::Schedule::PropagateDeferredMark() | |
2 0.0% 0.0% T v8::internal::compiler::Schedule::AddNode(v8::internal::compiler::BasicBlock*, v8::internal::compiler::Node*) | |
2 0.0% 0.0% T v8::internal::compiler::RegisterAllocationData::InitializePhiMap(v8::internal::compiler::InstructionBlock const*, v8::internal::compiler::PhiInstruction*) | |
2 0.0% 0.0% T v8::internal::compiler::RegisterAllocationData::GetOrCreateLiveRangeFor(int) | |
2 0.0% 0.0% T v8::internal::compiler::MoveOptimizer::MigrateMoves(v8::internal::compiler::Instruction*, v8::internal::compiler::Instruction*) | |
2 0.0% 0.0% T v8::internal::compiler::LiveRangeSeparator::Splinter() | |
2 0.0% 0.0% T v8::internal::compiler::LiveRangeBuilder::Define(v8::internal::compiler::LifetimePosition, v8::internal::compiler::InstructionOperand*, void*, v8::internal::compiler::UsePositionHintType) | |
2 0.0% 0.0% T v8::internal::compiler::LiveRangeBuilder::ComputeLiveOut(v8::internal::compiler::InstructionBlock const*, v8::internal::compiler::RegisterAllocationData*) | |
2 0.0% 0.0% T v8::internal::compiler::LiveRangeBuilder::AddInitialIntervals(v8::internal::compiler::InstructionBlock const*, v8::internal::BitVector*) | |
2 0.0% 0.0% T v8::internal::compiler::LinearScanAllocator::TryReuseSpillForPhi(v8::internal::compiler::TopLevelLiveRange*) | |
2 0.0% 0.0% T v8::internal::compiler::LinearScanAllocator::AddToUnhandledSorted(v8::internal::compiler::LiveRange*) | |
2 0.0% 0.0% T v8::internal::compiler::JumpThreading::ComputeForwarding(v8::internal::Zone*, v8::internal::ZoneVector<v8::internal::compiler::RpoNumber>&, v8::internal::compiler::InstructionSequence*, bool) | |
2 0.0% 0.0% T v8::internal::compiler::InstructionSequence::InstructionBlocksFor(v8::internal::Zone*, v8::internal::compiler::Schedule const*) | |
2 0.0% 0.0% T v8::internal::compiler::InstructionSequence::GetInstructionBlock(int) const | |
2 0.0% 0.0% T v8::internal::compiler::InstructionSelector::VisitBlock(v8::internal::compiler::BasicBlock*) | |
2 0.0% 0.0% T v8::internal::compiler::InstructionSelector::GetVirtualRegister(v8::internal::compiler::Node const*) | |
2 0.0% 0.0% T v8::internal::compiler::InstructionSelector::Emit(int, unsigned long, v8::internal::compiler::InstructionOperand*, unsigned long, v8::internal::compiler::InstructionOperand*, unsigned long, v8::internal::compiler::InstructionOperand*) | |
2 0.0% 0.0% T v8::internal::compiler::CodeGenerator::AssembleMove(v8::internal::compiler::InstructionOperand*, v8::internal::compiler::InstructionOperand*) | |
2 0.0% 0.0% T v8::internal::compiler::CodeGenerator::AssembleInstruction(v8::internal::compiler::Instruction*, v8::internal::compiler::InstructionBlock const*) | |
2 0.0% 0.0% T v8::internal::Zone::Zone(v8::internal::AccountingAllocator*, char const*) | |
2 0.0% 0.0% T v8::internal::Zone::NewExpand(unsigned long) | |
2 0.0% 0.0% T v8::internal::LoadIC::GetMapIndependentHandler(v8::internal::LookupIterator*) | |
2 0.0% 0.0% T v8::internal::AstValueFactory::GetOneByteStringInternal(v8::internal::Vector<unsigned char const>) | |
1 0.0% 0.0% t void v8::internal::Scanner::Advance<false, true>() | |
1 0.0% 0.0% t void std::__1::vector<v8::internal::compiler::BasicBlock*, v8::internal::ZoneAllocator<v8::internal::compiler::BasicBlock*> >::__push_back_slow_path<v8::internal::compiler::BasicBlock* const&>(v8::internal::compiler::BasicBlock* const&&&) | |
1 0.0% 0.0% t void std::__1::__tree_balance_after_insert<std::__1::__tree_node_base<void*>*>(std::__1::__tree_node_base<void*>*, std::__1::__tree_node_base<void*>*) | |
1 0.0% 0.0% t void std::__1::__sort<bool (*&)(v8::internal::compiler::LiveRange*, v8::internal::compiler::LiveRange*), v8::internal::compiler::LiveRange**>(v8::internal::compiler::LiveRange**, v8::internal::compiler::LiveRange**, bool (*&)(v8::internal::compiler::LiveRange*, v8::internal::compiler::LiveRange*)) | |
1 0.0% 0.0% t v8::internal::interpreter::BytecodeGenerator::VisitNoStackOverflowCheck(v8::internal::AstNode*) | |
1 0.0% 0.0% t v8::internal::compiler::X64OperandConverter::MemoryOperand(unsigned long*) | |
1 0.0% 0.0% t v8::internal::compiler::UnhandledSortHelper(v8::internal::compiler::LiveRange*, v8::internal::compiler::LiveRange*) | |
1 0.0% 0.0% t v8::internal::compiler::SpecialRPONumberer::ComputeAndInsertSpecialRPO(v8::internal::compiler::BasicBlock*, v8::internal::compiler::BasicBlock*) | |
1 0.0% 0.0% t v8::internal::compiler::OperandGenerator::UseLocation(v8::internal::compiler::Node*, v8::internal::compiler::LinkageLocation) | |
1 0.0% 0.0% t v8::internal::compiler::JumpThreadingState::Forward(v8::internal::compiler::RpoNumber) | |
1 0.0% 0.0% t v8::internal::compiler::InstructionOperandConverter::ToConstant(v8::internal::compiler::InstructionOperand*) | |
1 0.0% 0.0% t v8::internal::ParserBase<v8::internal::Parser>::ParseBinaryExpression(int, bool, bool*) | |
1 0.0% 0.0% t v8::internal::ParserBase<v8::internal::Parser>::ParseAndClassifyIdentifier(bool*) | |
1 0.0% 0.0% t v8::internal::LookupIterator::State v8::internal::LookupIterator::LookupInRegularHolder<false>(v8::internal::Map*, v8::internal::JSReceiver*) | |
1 0.0% 0.0% t v8::internal::KeywordOrIdentifierToken(unsigned char const*, int) | |
1 0.0% 0.0% t v8::internal::InternalizedStringKey::IsMatch(v8::internal::Object*) | |
1 0.0% 0.0% t v8::internal::Handle<v8::internal::String> v8::internal::JsonParser<true>::ScanJsonString<true>() | |
1 0.0% 0.0% t v8::internal::ConsString* v8::internal::String::VisitFlat<v8::internal::StringCharacterStream>(v8::internal::StringCharacterStream*, v8::internal::String*, int) | |
1 0.0% 0.0% t v8::internal::AstNumberingVisitor::VisitNoStackOverflowCheck(v8::internal::AstNode*) | |
1 0.0% 0.0% t v8::internal::(anonymous namespace)::PostBuildProfileAndTracing(v8::internal::Isolate*, v8::internal::Code*, char const*) | |
1 0.0% 0.0% t v8::internal::(anonymous namespace)::Invoke(v8::internal::Isolate*, bool, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*, v8::internal::Handle<v8::internal::Object>, v8::internal::Execution::MessageHandling) | |
1 0.0% 0.0% t v8::internal::(anonymous namespace)::CompileUnoptimizedCode(v8::internal::CompilationInfo*, v8::internal::Compiler::ConcurrencyMode) | |
1 0.0% 0.0% t v8::base::TemplateHashMapImpl<void*, void*, v8::base::HashEqualityThenKeyMatcher<void*, bool (*)(void*, void*)>, v8::base::DefaultAllocationPolicy>::Resize(v8::base::DefaultAllocationPolicy) | |
1 0.0% 0.0% t v8::base::TemplateHashMapEntry<void*, void*>* v8::base::TemplateHashMapImpl<void*, void*, v8::base::HashEqualityThenKeyMatcher<void*, bool (*)(void*, void*)>, v8::base::DefaultAllocationPolicy>::LookupOrInsert<v8::base::TemplateHashMapImpl<void*, void*, v8::base::HashEqualityThenKeyMatcher<void*, bool (*)(void*, void*)>, v8::base::DefaultAllocationPolicy>::LookupOrInsert(void* const&, unsigned int, v8::base::DefaultAllocationPolicy)::'lambda'()>(void* const&, unsigned int, v8::base::TemplateHashMapImpl<void*, void*, v8::base::HashEqualityThenKeyMatcher<void*, bool (*)(void*, void*)>, v8::base::DefaultAllocationPolicy>::LookupOrInsert(void* const&, unsigned int, v8::base::DefaultAllocationPolicy)::'lambda'() const&, v8::base::DefaultAllocationPolicy) | |
1 0.0% 0.0% t std::__1::vector<v8::internal::interpreter::BytecodeLabel, v8::internal::ZoneAllocator<v8::internal::interpreter::BytecodeLabel> >::__append(unsigned long) | |
1 0.0% 0.0% t std::__1::vector<v8::internal::compiler::BasicBlock*, v8::internal::ZoneAllocator<v8::internal::compiler::BasicBlock*> >::__append(unsigned long) | |
1 0.0% 0.0% t std::__1::vector<v8::internal::MachineRepresentation, v8::internal::ZoneAllocator<v8::internal::MachineRepresentation> >::__append(unsigned long, v8::internal::MachineRepresentation const&) | |
1 0.0% 0.0% t std::__1::__tree<std::__1::__value_type<v8::internal::compiler::CodeAssemblerVariable::Impl*, v8::internal::compiler::Node*>, std::__1::__map_value_compare<v8::internal::compiler::CodeAssemblerVariable::Impl*, std::__1::__value_type<v8::internal::compiler::CodeAssemblerVariable::Impl*, v8::internal::compiler::Node*>, std::__1::less<v8::internal::compiler::CodeAssemblerVariable::Impl*>, true>, std::__1::allocator<std::__1::__value_type<v8::internal::compiler::CodeAssemblerVariable::Impl*, v8::internal::compiler::Node*> > >::destroy(std::__1::__tree_node<std::__1::__value_type<v8::internal::compiler::CodeAssemblerVariable::Impl*, v8::internal::compiler::Node*>, void*>*) | |
1 0.0% 0.0% t std::__1::__tree<std::__1::__value_type<v8::internal::compiler::CodeAssemblerVariable::Impl*, std::__1::vector<v8::internal::compiler::Node*, std::__1::allocator<v8::internal::compiler::Node*> > >, std::__1::__map_value_compare<v8::internal::compiler::CodeAssemblerVariable::Impl*, std::__1::__value_type<v8::internal::compiler::CodeAssemblerVariable::Impl*, std::__1::vector<v8::internal::compiler::Node*, std::__1::allocator<v8::internal::compiler::Node*> > >, std::__1::less<v8::internal::compiler::CodeAssemblerVariable::Impl*>, true>, std::__1::allocator<std::__1::__value_type<v8::internal::compiler::CodeAssemblerVariable::Impl*, std::__1::vector<v8::internal::compiler::Node*, std::__1::allocator<v8::internal::compiler::Node*> > > > >::destroy(std::__1::__tree_node<std::__1::__value_type<v8::internal::compiler::CodeAssemblerVariable::Impl*, std::__1::vector<v8::internal::compiler::Node*, std::__1::allocator<v8::internal::compiler::Node*> > >, void*>*) | |
1 0.0% 0.0% t node::Open(v8::FunctionCallbackInfo<v8::Value> const&) | |
1 0.0% 0.0% t node::Cwd(v8::FunctionCallbackInfo<v8::Value> const&) | |
1 0.0% 0.0% t node::(anonymous namespace)::RunMicrotasks(v8::FunctionCallbackInfo<v8::Value> const&) | |
1 0.0% 0.0% t int v8::internal::BinarySearch<(v8::internal::SearchMode)1, v8::internal::DescriptorArray>(v8::internal::DescriptorArray*, v8::internal::Name*, int, int*) | |
1 0.0% 0.0% t bool v8::internal::ScavengingVisitor<(v8::internal::MarksHandling)1, (v8::internal::LoggingAndProfiling)0>::SemiSpaceCopyObject<(v8::internal::AllocationAlignment)0>(v8::internal::Map*, v8::internal::HeapObject**, v8::internal::HeapObject*, int) | |
1 0.0% 0.0% t _uv__io_poll | |
1 0.0% 0.0% T v8::internal::interpreter::InterpreterAssembler::BytecodeArrayTaggedPointer() | |
1 0.0% 0.0% T v8::internal::interpreter::Bytecodes::MakesCallAlongCriticalPath(v8::internal::interpreter::Bytecode) | |
1 0.0% 0.0% T v8::internal::interpreter::BytecodeGenerator::VisitBlockDeclarationsAndStatements(v8::internal::Block*) | |
1 0.0% 0.0% T v8::internal::compiler::TopLevelLiveRange::Merge(v8::internal::compiler::TopLevelLiveRange*, v8::internal::Zone*) | |
1 0.0% 0.0% T v8::internal::compiler::SpillRange::SpillRange(v8::internal::compiler::TopLevelLiveRange*, v8::internal::Zone*) | |
1 0.0% 0.0% T v8::internal::compiler::RegisterAllocator::SplitAndSpillRangesDefinedByMemoryOperand() | |
1 0.0% 0.0% T v8::internal::compiler::ReferenceMapPopulator::PopulateReferenceMaps() | |
1 0.0% 0.0% T v8::internal::compiler::RawMachineAssembler::Bind(v8::internal::compiler::RawMachineLabel*) | |
1 0.0% 0.0% T v8::internal::compiler::Operator::Operator(unsigned short, v8::base::Flags<v8::internal::compiler::Operator::Property, unsigned char>, char const*, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) | |
1 0.0% 0.0% T v8::internal::compiler::Node::New(v8::internal::Zone*, unsigned int, v8::internal::compiler::Operator const*, int, v8::internal::compiler::Node* const*, bool) | |
1 0.0% 0.0% T v8::internal::compiler::MoveOptimizer::Run() | |
1 0.0% 0.0% T v8::internal::compiler::LiveRangeConnector::CommitSpillsInDeferredBlocks(v8::internal::compiler::TopLevelLiveRange*, v8::internal::compiler::LiveRangeBoundArray*, v8::internal::Zone*) | |
1 0.0% 0.0% T v8::internal::compiler::LiveRangeBuilder::BuildLiveRanges() | |
1 0.0% 0.0% T v8::internal::compiler::LiveRange::DetachAt(v8::internal::compiler::LifetimePosition, v8::internal::compiler::LiveRange*, v8::internal::Zone*, v8::internal::compiler::LiveRange::HintConnectionOption) | |
1 0.0% 0.0% T v8::internal::compiler::Linkage::GetRuntimeCallDescriptor(v8::internal::Zone*, v8::internal::Runtime::FunctionId, int, v8::base::Flags<v8::internal::compiler::Operator::Property, unsigned char>, v8::base::Flags<v8::internal::compiler::CallDescriptor::Flag, int>) | |
1 0.0% 0.0% T v8::internal::compiler::LinearScanAllocator::TryAllocatePreferredReg(v8::internal::compiler::LiveRange*, v8::internal::Vector<v8::internal::compiler::LifetimePosition> const&) | |
1 0.0% 0.0% T v8::internal::compiler::LinearScanAllocator::ProcessCurrentRange(v8::internal::compiler::LiveRange*) | |
1 0.0% 0.0% T v8::internal::compiler::JSInliningHeuristic::Reduce(v8::internal::compiler::Node*) | |
1 0.0% 0.0% T v8::internal::compiler::InstructionSelector::VisitStore(v8::internal::compiler::Node*) | |
1 0.0% 0.0% T v8::internal::compiler::InstructionSelector::VisitNode(v8::internal::compiler::Node*) | |
1 0.0% 0.0% T v8::internal::compiler::InstructionSelector::VisitGoto(v8::internal::compiler::BasicBlock*) | |
1 0.0% 0.0% T v8::internal::compiler::InstructionSelector::SupportedMachineOperatorFlags() | |
1 0.0% 0.0% T v8::internal::compiler::InstructionOperand::InterferesWith(v8::internal::compiler::InstructionOperand const&) const | |
1 0.0% 0.0% T v8::internal::compiler::Instruction::Instruction(int, unsigned long, v8::internal::compiler::InstructionOperand*, unsigned long, v8::internal::compiler::InstructionOperand*, unsigned long, v8::internal::compiler::InstructionOperand*) | |
1 0.0% 0.0% T v8::internal::compiler::GapResolver::PerformMove(v8::internal::compiler::ParallelMove*, v8::internal::compiler::MoveOperands*) | |
1 0.0% 0.0% T v8::internal::compiler::FrameElider::PropagateIntoBlock(v8::internal::compiler::InstructionBlock*) | |
1 0.0% 0.0% T v8::internal::compiler::ConstraintBuilder::MeetConstraintsBefore(int) | |
1 0.0% 0.0% T v8::internal::compiler::ConstraintBuilder::AllocateFixed(v8::internal::compiler::UnallocatedOperand*, int, bool) | |
1 0.0% 0.0% T v8::internal::compiler::CodeGenerator::IsNextInAssemblyOrder(v8::internal::compiler::RpoNumber) const | |
1 0.0% 0.0% T v8::internal::compiler::CodeGenerator::CodeGenerator(v8::internal::compiler::Frame*, v8::internal::compiler::Linkage*, v8::internal::compiler::InstructionSequence*, v8::internal::CompilationInfo*) | |
1 0.0% 0.0% T v8::internal::compiler::CodeGenerator::AssembleArchInstruction(v8::internal::compiler::Instruction*) | |
1 0.0% 0.0% T v8::internal::compiler::CodeAssembler::WordNotEqual(v8::internal::compiler::Node*, v8::internal::compiler::Node*) | |
1 0.0% 0.0% T v8::internal::compiler::CodeAssembler::IntPtrConstant(long) | |
1 0.0% 0.0% T v8::internal::TransitionArray::ExpectedTransitionKey(v8::internal::Handle<v8::internal::Map>) | |
1 0.0% 0.0% T v8::internal::StringTable::LookupString(v8::internal::Isolate*, v8::internal::Handle<v8::internal::String>) | |
1 0.0% 0.0% T v8::internal::StringTable::LookupKey(v8::internal::Isolate*, v8::internal::HashTableKey*) | |
1 0.0% 0.0% T v8::internal::String::ToCString(v8::internal::AllowNullsFlag, v8::internal::RobustnessFlag, int, int, int*) | |
1 0.0% 0.0% T v8::internal::String::SlowEquals(v8::internal::String*) | |
1 0.0% 0.0% T v8::internal::String::IndexOf(v8::internal::Isolate*, v8::internal::Handle<v8::internal::String>, v8::internal::Handle<v8::internal::String>, int) | |
1 0.0% 0.0% T v8::internal::String::GetFlatContent() | |
1 0.0% 0.0% T v8::internal::String::CalculateLineEnds(v8::internal::Handle<v8::internal::String>, bool) | |
1 0.0% 0.0% T v8::internal::StoreIC::GetMapIndependentHandler(v8::internal::LookupIterator*) | |
1 0.0% 0.0% T v8::internal::StackFrameIterator::Advance() | |
1 0.0% 0.0% T v8::internal::Scope::Scope(v8::internal::Zone*, v8::internal::ScopeType, v8::internal::Handle<v8::internal::ScopeInfo>) | |
1 0.0% 0.0% T v8::internal::Scope::ResolveVariablesRecursively(v8::internal::ParseInfo*) | |
1 0.0% 0.0% T v8::internal::Scavenger::ScavengeObjectSlow(v8::internal::HeapObject**, v8::internal::HeapObject*) | |
1 0.0% 0.0% T v8::internal::Runtime::FunctionForId(v8::internal::Runtime::FunctionId) | |
1 0.0% 0.0% T v8::internal::RelocIterator::next() | |
1 0.0% 0.0% T v8::internal::PerIsolateAssertScope<(v8::internal::PerIsolateAssertType)0, true>::IsAllowed(v8::internal::Isolate*) | |
1 0.0% 0.0% T v8::internal::Parser::ParseFunctionLiteral(v8::internal::AstRawString const*, v8::internal::Scanner::Location, v8::internal::FunctionNameValidity, v8::internal::FunctionKind, int, v8::internal::FunctionLiteral::FunctionType, v8::internal::LanguageMode, bool*) | |
1 0.0% 0.0% T v8::internal::NameDictionaryBase<v8::internal::NameDictionary, v8::internal::NameDictionaryShape>::FindEntry(v8::internal::Handle<v8::internal::Name>) | |
1 0.0% 0.0% T v8::internal::Map::FindRootMap() | |
1 0.0% 0.0% T v8::internal::LookupIterator::TransitionToAccessorPair(v8::internal::Handle<v8::internal::Object>, v8::internal::PropertyAttributes) | |
1 0.0% 0.0% T v8::internal::Log::MessageBuilder::Append(char const*, ...) | |
1 0.0% 0.0% T v8::internal::LayoutDescriptor::New(v8::internal::Handle<v8::internal::Map>, v8::internal::Handle<v8::internal::DescriptorArray>, int) | |
1 0.0% 0.0% T v8::internal::LAllocatorPhase::~LAllocatorPhase() | |
1 0.0% 0.0% T v8::internal::JSObject::MigrateToMap(v8::internal::Handle<v8::internal::JSObject>, v8::internal::Handle<v8::internal::Map>, int) | |
1 0.0% 0.0% T v8::internal::IncrementalMarking::Step(unsigned long, v8::internal::IncrementalMarking::CompletionAction, v8::internal::IncrementalMarking::ForceCompletionAction, v8::internal::StepOrigin) | |
1 0.0% 0.0% T v8::internal::Heap::Scavenge() | |
1 0.0% 0.0% T v8::internal::Heap::IterateAndScavengePromotedObject(v8::internal::HeapObject*, int) | |
1 0.0% 0.0% T v8::internal::Heap::DoScavenge(unsigned char*) | |
1 0.0% 0.0% T v8::internal::Heap::AllocateRawOneByteString(int, v8::internal::PretenureFlag) | |
1 0.0% 0.0% T v8::internal::Heap::AllocateMap(v8::internal::InstanceType, int, v8::internal::ElementsKind) | |
1 0.0% 0.0% T v8::internal::Heap::AllocateFixedArrayWithFiller(int, v8::internal::PretenureFlag, v8::internal::Object*) | |
1 0.0% 0.0% T v8::internal::Heap::AdjustLiveBytes(v8::internal::HeapObject*, int) | |
1 0.0% 0.0% T v8::internal::HRepresentationChangesPhase::InsertRepresentationChangeForUse(v8::internal::HValue*, v8::internal::HValue*, int, v8::internal::Representation) | |
1 0.0% 0.0% T v8::internal::HBinaryOperation::InferRepresentation(v8::internal::HInferRepresentationPhase*) | |
1 0.0% 0.0% T v8::internal::FunctionCallbackArguments::Call(void (*)(v8::FunctionCallbackInfo<v8::Value> const&)) | |
1 0.0% 0.0% T v8::internal::FlexibleBodyVisitor<v8::internal::StaticScavengeVisitor, v8::internal::JSObject::FastBodyDescriptor, int>::Visit(v8::internal::Map*, v8::internal::HeapObject*) | |
1 0.0% 0.0% T v8::internal::FlexibleBodyVisitor<v8::internal::IncrementalMarkingMarkingVisitor, v8::internal::JSObject::FastBodyDescriptor, void>::Visit(v8::internal::Map*, v8::internal::HeapObject*) | |
1 0.0% 0.0% T v8::internal::Factory::NewJSGlobalObject(v8::internal::Handle<v8::internal::JSFunction>) | |
1 0.0% 0.0% T v8::internal::CpuFeatures::FlushICache(void*, unsigned long) | |
1 0.0% 0.0% T v8::internal::BoyerMooreLookahead::FindBestInterval(int, int, int*, int*) | |
1 0.0% 0.0% T v8::internal::Assembler::emit_lea(v8::internal::Register, v8::internal::Operand const&, int) | |
1 0.0% 0.0% T v8::internal::AccountingAllocator::GetSegment(unsigned long) | |
1 0.0% 0.0% T v8::base::TimeTicks::HighResolutionNow() | |
1 0.0% 0.0% T node::crypto::Hash::New(v8::FunctionCallbackInfo<v8::Value> const&) | |
1 0.0% 0.0% T _http_parser_execute | |
[Summary]: | |
ticks total nonlib name | |
105 0.5% 0.5% JavaScript | |
20058 96.3% 96.7% C++ | |
16 0.1% 0.1% GC | |
74 0.4% Shared libraries | |
582 2.8% Unaccounted | |
[C++ entry points]: | |
ticks cpp total name | |
19823 99.7% 95.2% T v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*) | |
28 0.1% 0.1% T v8::internal::Runtime_CompileLazy(int, v8::internal::Object**, v8::internal::Isolate*) | |
7 0.0% 0.0% T v8::internal::Runtime_SetProperty(int, v8::internal::Object**, v8::internal::Isolate*) | |
6 0.0% 0.0% T v8::internal::Builtin_JsonParse(int, v8::internal::Object**, v8::internal::Isolate*) | |
4 0.0% 0.0% T v8::internal::Runtime_NewObject(int, v8::internal::Object**, v8::internal::Isolate*) | |
2 0.0% 0.0% T v8::internal::Runtime_SetCode(int, v8::internal::Object**, v8::internal::Isolate*) | |
2 0.0% 0.0% T v8::internal::Runtime_LoadIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*) | |
2 0.0% 0.0% T v8::internal::Runtime_KeyedGetProperty(int, v8::internal::Object**, v8::internal::Isolate*) | |
2 0.0% 0.0% T v8::internal::Runtime_CreateObjectLiteral(int, v8::internal::Object**, v8::internal::Isolate*) | |
2 0.0% 0.0% T v8::internal::Runtime_CompileOptimized_Concurrent(int, v8::internal::Object**, v8::internal::Isolate*) | |
2 0.0% 0.0% T v8::internal::Builtin_ObjectDefineProperty(int, v8::internal::Object**, v8::internal::Isolate*) | |
1 0.0% 0.0% T v8::internal::Runtime_StringReplaceGlobalRegExpWithString(int, v8::internal::Object**, v8::internal::Isolate*) | |
1 0.0% 0.0% T v8::internal::Runtime_StringIndexOfUnchecked(int, v8::internal::Object**, v8::internal::Isolate*) | |
1 0.0% 0.0% T v8::internal::Runtime_StringCharCodeAtRT(int, v8::internal::Object**, v8::internal::Isolate*) | |
1 0.0% 0.0% T v8::internal::Runtime_StoreIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*) | |
1 0.0% 0.0% T v8::internal::Runtime_RegExpExec(int, v8::internal::Object**, v8::internal::Isolate*) | |
1 0.0% 0.0% T v8::internal::Runtime_KeyedStoreIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*) | |
1 0.0% 0.0% T v8::internal::Runtime_GenericHash(int, v8::internal::Object**, v8::internal::Isolate*) | |
1 0.0% 0.0% T v8::internal::Runtime_DefineDataPropertyInLiteral(int, v8::internal::Object**, v8::internal::Isolate*) | |
1 0.0% 0.0% T v8::internal::Runtime_AddNamedProperty(int, v8::internal::Object**, 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 | |
19730 94.8% T node::crypto::PBKDF2(v8::FunctionCallbackInfo<v8::Value> const&) | |
19730 100.0% T v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*) | |
19730 100.0% Function: ~pbkdf2 crypto.js:632:16 | |
19730 100.0% Function: ~exports.pbkdf2Sync crypto.js:627:30 | |
19655 99.6% Function: ~app.get /Users/Jonathan/Prog/Codes/NodeJs/node-profile-sample/profile/server.js:28:18 | |
19655 100.0% Function: ~handle /Users/Jonathan/Prog/Codes/NodeJs/node-profile-sample/profile/node_modules/express/lib/router/layer.js:86:49 | |
582 2.8% UNKNOWN | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment