UNPKG

salesman.js

Version:

Solves the traveling salesman problem using simulated annealing.

143 lines (130 loc) 10.8 kB
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