salesman.js
Version:
Solves the traveling salesman problem using simulated annealing.
143 lines (130 loc) • 10.8 kB
Plain Text
Statistical profiling result from isolate-0x3860db0-v8.log, (1281 ticks, 41 unaccounted, 0 excluded).
[Shared libraries]:
ticks total nonlib name
6 0.5% /usr/bin/nodejs
4 0.3% /lib/x86_64-linux-gnu/libc-2.23.so
1 0.1% /lib/x86_64-linux-gnu/libm-2.23.so
[JavaScript]:
ticks total nonlib name
727 56.8% 57.2% LazyCompile: *solve /home/olojkine/Developpement/salesman.js/salesman.js:94:15
222 17.3% 17.5% LazyCompile: *Path.distance /home/olojkine/Developpement/salesman.js/salesman.js:66:35
87 6.8% 6.9% LazyCompile: *random native math.js:46:20
17 1.3% 1.3% LazyCompile: *Path.swap /home/olojkine/Developpement/salesman.js/salesman.js:37:31
3 0.2% 0.2% Stub: CEntryStub
1 0.1% 0.1% Stub: CEntryStub {1}
1 0.1% 0.1% LazyCompile: ~solve /home/olojkine/Developpement/salesman.js/salesman.js:94:15
1 0.1% 0.1% LazyCompile: *Path.change /home/olojkine/Developpement/salesman.js/salesman.js:23:33
[C++]:
ticks total nonlib name
82 6.4% 6.5% v8::internal::Runtime_GenerateRandomNumbers(int, v8::internal::Object**, v8::internal::Isolate*)
20 1.6% 1.6% node::ContextifyScript::New(v8::FunctionCallbackInfo<v8::Value> const&)
5 0.4% 0.4% v8::internal::SerializerDeserializer::Iterate(v8::internal::Isolate*, v8::internal::ObjectVisitor*)
4 0.3% 0.3% write
2 0.2% 0.2% void v8::internal::String::WriteToFlat<unsigned short>(v8::internal::String*, unsigned short*, int, int)
2 0.2% 0.2% v8::internal::ScavengeVisitor::VisitPointer(v8::internal::Object**)
2 0.2% 0.2% v8::internal::RuntimeCallTimerScope::~RuntimeCallTimerScope()
2 0.2% 0.2% v8::internal::ParserBase<v8::internal::ParserTraits>::ParseExpression(bool, v8::internal::ExpressionClassifier<v8::internal::ParserTraits>*, bool*)
2 0.2% 0.2% v8::internal::JSTypedArray::GetBuffer()
2 0.2% 0.2% v8::internal::Heap::AllocateFixedArray(int, v8::internal::PretenureFlag)
2 0.2% 0.2% v8::internal::ExpressionClassifier<v8::internal::ParserTraits>::Accumulate(v8::internal::ExpressionClassifier<v8::internal::ParserTraits>*, unsigned int, bool)
2 0.2% 0.2% v8::internal::Deserializer::ReadData(v8::internal::Object**, v8::internal::Object**, int, unsigned char*)
2 0.2% 0.2% __printf_fp
2 0.2% 0.2% __libc_malloc
1 0.1% 0.1% void v8::internal::TypeFeedbackOracle::CollectReceiverTypes<v8::internal::LoadICNexus>(v8::internal::LoadICNexus*, v8::internal::SmallMapList*)
1 0.1% 0.1% void v8::internal::BodyDescriptorBase::IteratePointers<v8::internal::MarkCompactMarkingVisitor>(v8::internal::Heap*, v8::internal::HeapObject*, int, int)
1 0.1% 0.1% v8::internal::Zone::New(unsigned long)
1 0.1% 0.1% v8::internal::RuntimeCallTimerScope::RuntimeCallTimerScope(v8::internal::Isolate*, v8::internal::RuntimeCallCounter*)
1 0.1% 0.1% v8::internal::RelocIterator::next()
1 0.1% 0.1% v8::internal::ParserBase<v8::internal::ParserTraits>::ParseLeftHandSideExpression(v8::internal::ExpressionClassifier<v8::internal::ParserTraits>*, bool*)
1 0.1% 0.1% v8::internal::ParserBase<v8::internal::ParserTraits>::ParseExpression(bool, bool*)
1 0.1% 0.1% v8::internal::Parser::ParseSubStatement(v8::internal::ZoneList<v8::internal::AstRawString const*>*, bool*)
1 0.1% 0.1% v8::internal::Parser::ParseStatic(v8::internal::ParseInfo*)
1 0.1% 0.1% v8::internal::Object* v8::internal::VisitWeakList<v8::internal::Context>(v8::internal::Heap*, v8::internal::Object*, v8::internal::WeakObjectRetainer*)
1 0.1% 0.1% v8::internal::Log::MessageBuilder::Append(char const*, ...)
1 0.1% 0.1% v8::internal::LiveRange::FirstIntersection(v8::internal::LiveRange*)
1 0.1% 0.1% v8::internal::LAllocator::MeetRegisterConstraints()
1 0.1% 0.1% v8::internal::IncrementalMarking::ShouldActivateEvenWithoutIdleNotification()
1 0.1% 0.1% v8::internal::IC::SetTargetAtAddress(unsigned char*, v8::internal::Code*, unsigned char*)
1 0.1% 0.1% v8::internal::HeapObjectIterator::next_object()
1 0.1% 0.1% v8::internal::HeapIterator::next()
1 0.1% 0.1% v8::internal::Heap::GarbageCollectionEpilogue()
1 0.1% 0.1% v8::internal::Heap::CopyJSObject(v8::internal::JSObject*, v8::internal::AllocationSite*)
1 0.1% 0.1% v8::internal::HandlerStub::GetICState() const
1 0.1% 0.1% v8::internal::HTemplateInstruction<2>::OperandCount() const
1 0.1% 0.1% v8::internal::HInstructionMap::Kill(v8::internal::SideEffects)
1 0.1% 0.1% v8::internal::HGraph::OrderBlocks()
1 0.1% 0.1% v8::internal::HAdd::InferRange(v8::internal::Zone*)
1 0.1% 0.1% v8::internal::GCTracer::ScavengeSpeedInBytesPerMillisecond(v8::internal::ScavengeSpeedMode) const
1 0.1% 0.1% v8::internal::FullCodeGenerator::ExpressionContext::IsStackValue() const
1 0.1% 0.1% v8::internal::Deserializer::GetBackReferencedObject(int)
1 0.1% 0.1% v8::internal::CompilationCache::Iterate(v8::internal::ObjectVisitor*)
1 0.1% 0.1% v8::internal::CompareOperation::node_type() const
1 0.1% 0.1% v8::internal::Call::GetCallType(v8::internal::Isolate*) const
1 0.1% 0.1% v8::internal::Assembler::testb(v8::internal::Register, v8::internal::Immediate)
1 0.1% 0.1% v8::internal::Assembler::RecordRelocInfo(v8::internal::RelocInfo::Mode, long)
1 0.1% 0.1% std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long)
1 0.1% 0.1% node::Buffer::Utf8Slice(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.1% 0.1% mmap
1 0.1% 0.1% _init
1 0.1% 0.1% _dl_mcount_wrapper_check
1 0.1% 0.1% __GI___pthread_mutex_unlock
1 0.1% 0.1% _IO_vfprintf
[Summary]:
ticks total nonlib name
1059 82.7% 83.4% JavaScript
170 13.3% 13.4% C++
19 1.5% 1.5% GC
11 0.9% Shared libraries
41 3.2% Unaccounted
[C++ entry points]:
ticks cpp total name
86 59.3% 6.7% v8::internal::Runtime_GenerateRandomNumbers(int, v8::internal::Object**, v8::internal::Isolate*)
20 13.8% 1.6% v8::internal::Runtime_CompileLazy(int, v8::internal::Object**, v8::internal::Isolate*)
20 13.8% 1.6% node::ContextifyScript::New(v8::FunctionCallbackInfo<v8::Value> const&)
4 2.8% 0.3% v8::internal::Runtime_KeyedStoreIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*)
3 2.1% 0.2% v8::internal::Runtime_StoreIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*)
2 1.4% 0.2% v8::internal::Runtime_CompileForOnStackReplacement(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.7% 0.1% v8::internal::Runtime_ToBooleanIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.7% 0.1% v8::internal::Runtime_NewClosure(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.7% 0.1% v8::internal::Runtime_MathExpRT(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.7% 0.1% v8::internal::Runtime_Interrupt(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.7% 0.1% v8::internal::Runtime_CreateObjectLiteral(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.7% 0.1% v8::internal::Runtime_CompileOptimized_Concurrent(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.7% 0.1% v8::internal::Runtime_CompareIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.7% 0.1% v8::internal::Runtime_BinaryOpIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*)
1 0.7% 0.1% v8::internal::Log::MessageBuilder::Append(char const*, ...)
1 0.7% 0.1% node::Buffer::Utf8Slice(v8::FunctionCallbackInfo<v8::Value> const&)
[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 2.0% are not shown.
ticks parent name
727 56.8% LazyCompile: *solve /home/olojkine/Developpement/salesman.js/salesman.js:94:15
727 100.0% Function: ~<anonymous> /home/olojkine/Developpement/salesman.js/test.js:1:11
727 100.0% LazyCompile: ~Module._compile module.js:481:37
727 100.0% LazyCompile: ~Module._extensions..js module.js:548:37
727 100.0% LazyCompile: ~Module.load module.js:449:33
727 100.0% LazyCompile: tryModuleLoad module.js:414:23
222 17.3% LazyCompile: *Path.distance /home/olojkine/Developpement/salesman.js/salesman.js:66:35
222 100.0% LazyCompile: *solve /home/olojkine/Developpement/salesman.js/salesman.js:94:15
222 100.0% Function: ~<anonymous> /home/olojkine/Developpement/salesman.js/test.js:1:11
222 100.0% LazyCompile: ~Module._compile module.js:481:37
222 100.0% LazyCompile: ~Module._extensions..js module.js:548:37
222 100.0% LazyCompile: ~Module.load module.js:449:33
87 6.8% LazyCompile: *random native math.js:46:20
87 100.0% LazyCompile: *solve /home/olojkine/Developpement/salesman.js/salesman.js:94:15
87 100.0% Function: ~<anonymous> /home/olojkine/Developpement/salesman.js/test.js:1:11
87 100.0% LazyCompile: ~Module._compile module.js:481:37
87 100.0% LazyCompile: ~Module._extensions..js module.js:548:37
87 100.0% LazyCompile: ~Module.load module.js:449:33
82 6.4% v8::internal::Runtime_GenerateRandomNumbers(int, v8::internal::Object**, v8::internal::Isolate*)
82 100.0% v8::internal::Runtime_GenerateRandomNumbers(int, v8::internal::Object**, v8::internal::Isolate*)
57 69.5% LazyCompile: *solve /home/olojkine/Developpement/salesman.js/salesman.js:94:15
57 100.0% Function: ~<anonymous> /home/olojkine/Developpement/salesman.js/test.js:1:11
57 100.0% LazyCompile: ~Module._compile module.js:481:37
57 100.0% LazyCompile: ~Module._extensions..js module.js:548:37
25 30.5% LazyCompile: *random native math.js:46:20
25 100.0% LazyCompile: *solve /home/olojkine/Developpement/salesman.js/salesman.js:94:15
25 100.0% Function: ~<anonymous> /home/olojkine/Developpement/salesman.js/test.js:1:11
25 100.0% LazyCompile: ~Module._compile module.js:481:37
41 3.2% UNKNOWN