| Tested with Executor (i.e. ooRexx 4.2 with a compatibility layer for ooRexx5) It's faster than ooRexx 5 (same machine Apple M1 Pro 32 GB, so you can compare with the durations in my previous mail) Here, DeadObjectPool::findFit is no longer at the top. It's NormalSegmentSet::allocateObject created test_01.json: 00:00:00.102999 wrote test_01.json: 00:00:00.001113 created test_02.json: 00:00:00.184382 wrote test_02.json: 00:00:00.001576 --- importing test_02.json ... importing test_02.json lasted: 00:00:05.106789 test_02.json: res~items: 180000 importing test_02.json ... importing test_02.json lasted: 00:00:07.696393 test_02.json: res~items: 180000 importing test_01.json ... importing test_01.json lasted: 00:00:03.215964 test_01.json: res~items: 90000 importing test_01.json ... importing test_01.json lasted: 00:00:03.139719 test_01.json: res~items: 90000 // drop res Execute json.cls prolog created test_01.json: 00:00:00.090246 wrote test_01.json: 00:00:00.001093 created test_02.json: 00:00:00.176914 wrote test_02.json: 00:00:00.001671 --- importing test_02.json ... importing test_02.json lasted: 00:00:05.213926 test_02.json: res~items: 180000 importing test_02.json ... importing test_02.json lasted: 00:00:04.912633 test_02.json: res~items: 180000 importing test_01.json ... importing test_01.json lasted: 00:00:01.104088 test_01.json: res~items: 90000 importing test_01.json ... importing test_01.json lasted: 00:00:01.084859 test_01.json: res~items: 90000 Attached: profiling ooRexx 4.2 without drop.txt profiling ooRexx 4.2 with drop.txt |
Apple M1 Pro 32 GB Using Instruments Time Profiler is sampling-based, not instrumentation-based.
================================================================================ Inverted call tree Flattened recursion Hidden system libraries ================================================================================ (see also the not inverted tree below) With Invert Call Tree enabled, each row answers the question: âIn how much total sampled time did this function appear anywhere on the stack?â Here, findFit does not appear. During 47.0% of all sampled execution, the call stack contained NormalSegmentSet::allocateObject. It does not mean: The body of allocateObject executed for 11.77 s Or that it consumed 47.0% of CPU exclusively It means allocateObject is on the critical execution path for most of the runtime. 25.06 s 100,0Â % 0 s rexx (67862) 11.77 s 47,0Â % 0 s NormalSegmentSet::allocateObject(unsigned long) 3.53 s 14,1Â % 0 s RexxHashTable::live(unsigned long) 2.70 s 10,8Â % 0 s RexxMemory::collect() 948.00 ms â3,8Â % 0 s RexxMemory::mark(RexxObject*) 656.00 ms â2,6Â % 0 s RexxActivation::RexxActivation(RexxActivity*, RexxActivation*, RexxMethod*, RexxCode*) 397.00 ms â1,6Â % 0 s RexxObject::messageSend(RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&, bool, bool) 362.00 ms â1,4Â % 0 s RexxMemory::markObjectsMain(RexxObject*) 313.00 ms â1,2Â % 0 s RexxActivation::run(RexxObject*, RexxString*, RexxArray*, RexxObject**, unsigned long, unsigned long, RexxInstruction*, ProtectedObject&) 309.00 ms â1,2Â % 0 s RexxDirectory::live(unsigned long) 261.00 ms â1,0Â % 0 s RexxMemory::newObject(unsigned long, unsigned long) 173.00 ms â0,7Â % 0 s RexxParseVariable::evaluate(RexxActivation*, RexxExpressionStack*) 150.00 ms â0,6Â % 0 s CPPCode::run(RexxActivity*, RexxMethod*, RexxObject*, RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&) 147.00 ms â0,6Â % 0 s RexxCode::run(RexxActivity*, RexxMethod*, RexxObject*, RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&) 147.00 ms â0,6Â % 0 s RexxActivation::termination() 138.00 ms â0,6Â % 0 s RexxString::strictEqual(RexxObject*) 128.00 ms â0,5Â % 0 s RexxExpressionMessage::evaluate(RexxActivation*, RexxExpressionStack*) 126.00 ms â0,5Â % 0 s StringUtil::verify(char const*, unsigned long, RexxString*, RexxString*, RexxInteger*, RexxInteger*) 122.00 ms â0,5Â % 0 s RexxArray::live(unsigned long) 121.00 ms â0,5Â % 0 s RexxInstructionMessage::execute(RexxActivation*, RexxExpressionStack*) 121.00 ms â0,5Â % 0 s RexxInteger::plus(RexxInteger*) 118.00 ms â0,5Â % 0 s RexxBinaryOperator::evaluate(RexxActivation*, RexxExpressionStack*) 100.00 ms â0,4Â % 0 s RexxTrigger::parse(RexxActivation*, RexxExpressionStack*, RexxTarget*) 92.00 ms â0,4Â % 0 s RexxLocalVariables::lookupVariable(RexxString*, unsigned long) 77.00 ms â0,3Â % 0 s RexxInstructionDo::execute(RexxActivation*, RexxExpressionStack*) 73.00 ms â0,3Â % 0 s RexxString::hash() 68.00 ms â0,3Â % 0 s NormalSegmentSet::addDeadObject(char*, unsigned long) 67.00 ms â0,3Â % 0 s RexxArray::operator new(unsigned long, unsigned long, unsigned long, RexxClass*) 62.00 ms â0,2Â % 0 s MemorySegmentPool::newSegment(unsigned long) 58.00 ms â0,2Â % 0 s MemorySegmentSet::sweep() 57.00 ms â0,2Â % 0 s RexxInstructionSelect::execute(RexxActivation*, RexxExpressionStack*) 56.00 ms â0,2Â % 0 s RexxActivation::trapOn(RexxString*, RexxInstructionCallBase*) 55.00 ms â0,2Â % 0 s RexxActivation::rexxVariable(RexxString*) 53.00 ms â0,2Â % 0 s RexxInstructionParse::execute(RexxActivation*, RexxExpressionStack*) 50.00 ms â0,2Â % 0 s RexxInstructionIf::execute(RexxActivation*, RexxExpressionStack*) 50.00 ms â0,2Â % 0 s RexxArray::operator new(unsigned long, RexxObject*, RexxObject*, RexxObject*) 49.00 ms â0,2Â % 0 s RexxInstructionAssignment::execute(RexxActivation*, RexxExpressionStack*) 47.00 ms â0,2Â % 0 s RexxParseVariable::assign(RexxActivation*, RexxExpressionStack*, RexxObject*) 45.00 ms â0,2Â % 0 s RexxMutableBufferClass::newRexx(RexxObject**, unsigned long, unsigned long) 44.00 ms â0,2Â % 0 s RexxInteger::evaluate(RexxActivation*, RexxExpressionStack*) 42.00 ms â0,2Â % 0 s RexxString::newRexx(RexxObject**, unsigned long, unsigned long) 39.00 ms â0,2Â % 0 s RexxExpressionFunction::evaluate(RexxActivation*, RexxExpressionStack*) 39.00 ms â0,2Â % 0 s RexxParseVariable::expose(RexxActivation*, RexxExpressionStack*, RexxVariableDictionary*) 38.00 ms â0,2Â % 0 s RexxDirectory::newRexx(RexxObject**, unsigned long, unsigned long) 38.00 ms â0,2Â % 0 s RexxNumberString::newInstanceFromWholenumber(long) 37.00 ms â0,1Â % 0 s RexxNumberString::prepareOperatorNumber(unsigned long, unsigned long, bool) 36.00 ms â0,1Â % 0 s RexxActivity::pushStackFrame(RexxActivationBase*) 35.00 ms â0,1Â % 0 s RexxSource::findClass(RexxString*) 35.00 ms â0,1Â % 0 s RexxString::upper() 31.00 ms â0,1Â % 0 s RexxString::getHashValue() 30.00 ms â0,1Â % 0 s RexxDirectory::at(RexxString*) 29.00 ms â0,1Â % 0 s RexxInteger::minus(RexxInteger*) 27.00 ms â0,1Â % 0 s RexxObject::getObjectVariables(RexxObject*) 26.00 ms â0,1Â % 0 s DYLD-STUB$$bzero 24.00 ms â0,1Â % 0 s RexxMutableBuffer::append(RexxObject*) 24.00 ms â0,1Â % 0 s RexxInstructionDo::controlSetup(RexxActivation*, RexxExpressionStack*, RexxDoBlock*) 23.00 ms â0,1Â % 0 s RexxDotVariable::evaluate(RexxActivation*, RexxExpressionStack*) 21.00 ms â0,1Â % 0 s RexxHashTable::stringPut(RexxObject*, RexxString*) 20.00 ms â0,1Â % 0 s RexxTarget::next(RexxActivation*) 20.00 ms â0,1Â % 0 s RexxTarget::remainder() 18.00 ms â0,1Â % 0 s RexxString::evaluate(RexxActivation*, RexxExpressionStack*) 18.00 ms â0,1Â % 0 s RexxDirectory::put(RexxObject*, RexxString*) 18.00 ms â0,1Â % 0 s RexxObject::requestRexx(RexxString*) 18.00 ms â0,1Â % 0 s RexxActivation::expose(RexxVariableBase**, unsigned long) 17.00 ms â0,1Â % 0 s RexxString::strCompare(char const*) 17.00 ms â0,1Â % 0 s RexxInteger::unsignedNumberValue(unsigned long&, unsigned long) 16.00 ms â0,1Â % 0 s DYLD-STUB$$memcpy 16.00 ms â0,1Â % 0 s RexxInstructionUseStrict::executePositionalArguments(RexxActivation*, RexxExpressionStack*) 15.00 ms â0,1Â % 0 s DYLD-STUB$$strlen 14.00 ms â0,1Â % 0 s RexxHashTable::primitiveNextItem(RexxObject*, RexxObject*) 14.00 ms â0,1Â % 0 s RexxVariableDictionary::reserve(RexxActivity*) 14.00 ms â0,1Â % 0 s RexxString::makeString() 13.00 ms â0,1Â % 0 s RexxInstructionReturn::execute(RexxActivation*, RexxExpressionStack*) 13.00 ms â0,1Â % 0 s RexxMutableBuffer::makeString() 13.00 ms â0,1Â % 0 s RexxInteger::strictEqual(RexxObject*) 13.00 ms â0,1Â % 0 s RexxNumberString::maxMin(RexxObject**, unsigned long, unsigned long, unsigned int) 13.00 ms â0,1Â % 0 s RexxInstructionThen::execute(RexxActivation*, RexxExpressionStack*) 12.00 ms â0,0Â % 0 s RexxActivation::returnFrom(RexxObject*) 12.00 ms â0,0Â % 0 s RexxHashTableCollection::get(RexxObject*) 11.00 ms â0,0Â % 0 s RexxInstructionDo::checkControl(RexxActivation*, RexxExpressionStack*, RexxDoBlock*, bool) 11.00 ms â0,0Â % 0 s RexxInstructionDo::reExecute(RexxActivation*, RexxExpressionStack*, RexxDoBlock*) 11.00 ms â0,0Â % 0 s RexxNumberString::prepareNumber(unsigned long, bool) 11.00 ms â0,0Â % 0 s RexxArray::validateIndex(RexxObject**, unsigned long, unsigned long, unsigned long, unsigned long&) 11.00 ms â0,0Â % 0 s RexxString::lengthRexx() 11.00 ms â0,0Â % 0 s RexxInstructionUseStrict::execute(RexxActivation*, RexxExpressionStack*) 10.00 ms â0,0Â % 0 s RexxInstructionEndIf::execute(RexxActivation*, RexxExpressionStack*) 10.00 ms â0,0Â % 0 s RexxActivation::closeStreams() 9.00 ms â0,0Â % 0 s DYLD-STUB$$memcmp 9.00 ms â0,0Â % 0 s RexxInstructionEnd::execute(RexxActivation*, RexxExpressionStack*) 9.00 ms â0,0Â % 0 s <deduplicated_symbol> 8.00 ms â0,0Â % 0 s RexxInteger::isGreaterThan(RexxObject*) 8.00 ms â0,0Â % 0 s StringUtil::substr(char const*, unsigned long, RexxInteger*, RexxInteger*, RexxString*) 7.00 ms â0,0Â % 0 s RexxNumberString::comp(RexxObject*, RexxString*, RexxInteger**) 7.00 ms â0,0Â % 0 s RexxActivationBase::isStackBase() 7.00 ms â0,0Â % 0 s RexxInstructionExpose::execute(RexxActivation*, RexxExpressionStack*) 7.00 ms â0,0Â % 0 s RexxActivation::getNumericSettings() 7.00 ms â0,0Â % 0 s RexxInstructionElse::execute(RexxActivation*, RexxExpressionStack*) 6.00 ms â0,0Â % 0 s builtin_function_ARG(RexxActivation*, RexxObject**, unsigned long, unsigned long, RexxExpressionStack*) 6.00 ms â0,0Â % 0 s SysFile::read(char*, unsigned long, unsigned long&) 6.00 ms â0,0Â % 0 s RexxString::dynamicTarget(RexxObject**, unsigned long, unsigned long) 6.00 ms â0,0Â % 0 s DYLD-STUB$$__toupper 6.00 ms â0,0Â % 0 s RexxObject::instanceMethod(RexxString*) 5.00 ms â0,0Â % 0 s RexxNumberString::unsignedNumberValue(unsigned long&, unsigned long) 5.00 ms â0,0Â % 0 s RexxInstructionSignal::execute(RexxActivation*, RexxExpressionStack*) 5.00 ms â0,0Â % 0 s RexxNilObject::getHashValue() 5.00 ms â0,0Â % 0 s RexxInteger::isLessOrEqual(RexxObject*) 4.00 ms â0,0Â % 0 s RexxCode::getSourceObject() 4.00 ms â0,0Â % 0 s RexxObject::operator_strictEqual(RexxObject*) 4.00 ms â0,0Â % 0 s SecurityManager::checkEnvironmentAccess(RexxString*) 4.00 ms â0,0Â % 0 s RexxArray::lastRexx() 3.00 ms â0,0Â % 0 s RexxParseVariable::set(RexxActivation*, RexxObject*) 3.00 ms â0,0Â % 0 s RexxInteger::makeString() 3.00 ms â0,0Â % 0 s RexxBuffer::getData() 3.00 ms â0,0Â % 0 s RexxActivation::findRexxContext() 3.00 ms â0,0Â % 0 s RexxInstructionEndIf::live(unsigned long) 2.00 ms â0,0Â % 0 s MemorySegmentPool::newLargeSegment(unsigned long) 2.00 ms â0,0Â % 0 s RexxExpressionOperator::live(unsigned long) 2.00 ms â0,0Â % 0 s RexxExpressionMessage::live(unsigned long) 2.00 ms â0,0Â % 0 s RexxInstructionMessage::live(unsigned long) 2.00 ms â0,0Â % 0 s RexxActivation::getReceiver() 2.00 ms â0,0Â % 0 s RexxObject::requestString() 2.00 ms â0,0Â % 0 s RexxActivation::fuzz() 2.00 ms â0,0Â % 0 s RexxArray::extend(unsigned long) 2.00 ms â0,0Â % 0 s RexxInstructionAssignment::live(unsigned long) 2.00 ms â0,0Â % 0 s ClassDirective::live(unsigned long) 2.00 ms â0,0Â % 0 s RexxInstructionUseStrict::live(unsigned long) 2.00 ms â0,0Â % 0 s RexxObject::sendMessage(RexxString*, RexxObject*) 2.00 ms â0,0Â % 0 s RexxArray::putRexx(RexxObject**, unsigned long, unsigned long) 2.00 ms â0,0Â % 0 s RexxInteger::integerValue(unsigned long) 2.00 ms â0,0Â % 0 s builtin_function_ORXMIN(RexxActivation*, RexxObject**, unsigned long, unsigned long, RexxExpressionStack*) 2.00 ms â0,0Â % 0 s RexxVariableDictionary::release(RexxActivity*) 1.00 ms â0,0Â % 0 s LibraryPackage::reload() 1.00 ms â0,0Â % 0 s RexxActivity::RexxActivity(bool) 1.00 ms â0,0Â % 0 s RexxSource::createDoLoop(RexxInstructionDo*, bool) 1.00 ms â0,0Â % 0 s RexxInstruction::live(unsigned long) 1.00 ms â0,0Â % 0 s RexxParseVariable::getValue(RexxActivation*) 1.00 ms â0,0Â % 0 s RexxInteger::stringValue() 1.00 ms â0,0Â % 0 s RexxActivation::getTime() 1.00 ms â0,0Â % 0 s SysFile::close() 1.00 ms â0,0Â % 0 s RexxActivation::setFuzz(unsigned long) 1.00 ms â0,0Â % 0 s RexxBehaviour::live(unsigned long) 1.00 ms â0,0Â % 0 s RexxExpressionFunction::live(unsigned long) 1.00 ms â0,0Â % 0 s LargeSegmentSet::addDeadObject(char*, unsigned long) 1.00 ms â0,0Â % 0 s RexxInstructionEnd::live(unsigned long) 1.00 ms â0,0Â % 0 s RequiresDirective::live(unsigned long) 1.00 ms â0,0Â % 0 s RexxInternalStack::live(unsigned long) 1.00 ms â0,0Â % 0 s RexxDotVariable::live(unsigned long) 1.00 ms â0,0Â % 0 s MemorySegmentSet::addSegments(unsigned long) 1.00 ms â0,0Â % 0 s RexxClass::live(unsigned long) 1.00 ms â0,0Â % 0 s RexxInstructionDo::live(unsigned long) 1.00 ms â0,0Â % 0 s SysFileSystem::canonicalizeName(char*) 1.00 ms â0,0Â % 0 s SecurityManager::checkLocalAccess(RexxString*) 1.00 ms â0,0Â % 0 s RexxInstructionExpose::live(unsigned long) 1.00 ms â0,0Â % 0 s RexxObject::makeStringRexx() 1.00 ms â0,0Â % 0 s RexxInstructionIf::live(unsigned long) 1.00 ms â0,0Â % 0 s RexxObject::init() 1.00 ms â0,0Â % 0 s RexxInteger::primitiveMakeString() 1.00 ms â0,0Â % 0 s RexxObject::strictEqual(RexxObject*) 1.00 ms â0,0Â % 0 s RexxArray::itemsRexx() ================================================================================ Switching to Not inverted call tree ================================================================================ With Invert Call Tree disabled, each row answers the question: âHow much time is spent under this call path?â Search for "allocateObject" to unfold the call tree. (select auto expand) 1.14 s â4,6Â % 1.14 s NormalSegmentSet::allocateObject(unsigned long) 3.56 s 14,2Â % 3.56 s NormalSegmentSet::allocateObject(unsigned long) NormalSegmentSet::allocateObject Weight: 5.10 s Self Weight: 5.10 s This means: Almost all of the time attributed to allocateObject is spent in the body of allocateObject itself. 25.06 s 100,0Â % 0 s rexx (67862) 25.05 s 99,9Â % 0 s main 24.96 s 99,6Â % 0 s CallProgram 24.96 s 99,6Â % 0 s RexxActivity::run(ActivityDispatcher&) 24.96 s 99,6Â % 0 s RexxNativeActivation::run(ActivityDispatcher&) 24.96 s 99,6Â % 0 s CallProgramDispatcher::run() 24.96 s 99,6Â % 0 s RoutineClass::runProgram(RexxActivity*, RexxObject**, unsigned long, unsigned long, ProtectedObject&) 24.96 s 99,6Â % 0 s RexxActivation::run(RexxObject*, RexxString*, RexxArray*, RexxObject**, unsigned long, unsigned long, RexxInstruction*, ProtectedObject&) 24.78 s 98,9Â % 0 s RexxInstructionAssignment::execute(RexxActivation*, RexxExpressionStack*) 24.78 s 98,9Â % 0 s RexxExpressionFunction::evaluate(RexxActivation*, RexxExpressionStack*) 24.78 s 98,9Â % 0 s RexxActivation::externalCall(RexxString*, RexxObject**, unsigned long, unsigned long, RexxString*, ProtectedObject&) 24.78 s 98,9Â % 0 s RexxActivation::run(RexxObject*, RexxString*, RexxArray*, RexxObject**, unsigned long, unsigned long, RexxInstruction*, ProtectedObject&) 24.78 s 98,9Â % 0 s RexxInstructionAssignment::execute(RexxActivation*, RexxExpressionStack*) 24.78 s 98,9Â % 0 s RexxExpressionMessage::evaluate(RexxActivation*, RexxExpressionStack*) 24.78 s 98,9Â % 0 s RexxObject::messageSend(RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&, bool, bool) 24.78 s 98,9Â % 0 s RexxCode::run(RexxActivity*, RexxMethod*, RexxObject*, RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&) 24.78 s 98,9Â % 0 s RexxActivation::run(RexxObject*, RexxString*, RexxArray*, RexxObject**, unsigned long, unsigned long, RexxInstruction*, ProtectedObject&) 24.75 s 98,8Â % 0 s RexxInstructionReturn::execute(RexxActivation*, RexxExpressionStack*) 24.75 s 98,8Â % 0 s RexxExpressionMessage::evaluate(RexxActivation*, RexxExpressionStack*) 24.75 s 98,8Â % 0 s RexxObject::messageSend(RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&, bool, bool) 24.75 s 98,8Â % 0 s RexxCode::run(RexxActivity*, RexxMethod*, RexxObject*, RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&) 24.74 s 98,7Â % 17.00 ms RexxActivation::run(RexxObject*, RexxString*, RexxArray*, RexxObject**, unsigned long, unsigned long, RexxInstruction*, ProtectedObject&) 24.63 s 98,3Â % 92.00 ms RexxInstructionMessage::execute(RexxActivation*, RexxExpressionStack*) 13.72 s 54,7Â % 74.00 ms RexxObject::messageSend(RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&, bool, bool) 13.43 s 53,6Â % 70.00 ms RexxCode::run(RexxActivity*, RexxMethod*, RexxObject*, RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&) 9.36 s 37,4Â % 114.00 ms RexxActivation::run(RexxObject*, RexxString*, RexxArray*, RexxObject**, unsigned long, unsigned long, RexxInstruction*, ProtectedObject&) 4.86 s 19,4Â % 1.00 ms RexxInstructionSignal::execute(RexxActivation*, RexxExpressionStack*) 4.86 s 19,4Â % 14.00 ms RexxActivation::trapOn(RexxString*, RexxInstructionCallBase*) 3.62 s 14,5Â % 0 s NormalSegmentSet::handleAllocationFailure(unsigned long) 1.14 s â4,6Â % 1.14 s NormalSegmentSet::allocateObject(unsigned long) 59.00 ms â0,2Â % 13.00 ms RexxArray::operator new(unsigned long, RexxObject*, RexxObject*, RexxObject*) 9.00 ms â0,0Â % 9.00 ms RexxArray::operator new(unsigned long, unsigned long, unsigned long, RexxClass*) 6.00 ms â0,0Â % 2.00 ms RexxDirectory::put(RexxObject*, RexxString*) 2.00 ms â0,0Â % 2.00 ms DYLD-STUB$$bzero 1.00 ms â0,0Â % 1.00 ms RexxHashTable::stringPut(RexxObject*, RexxString*) 1.00 ms â0,0Â % 1.00 ms RexxArray::operator new(unsigned long, RexxObject*, RexxObject*, RexxObject*) 3.90 s 15,6Â % 23.00 ms RexxInstructionAssignment::execute(RexxActivation*, RexxExpressionStack*) 138.00 ms â0,6Â % 17.00 ms RexxInstructionIf::execute(RexxActivation*, RexxExpressionStack*) 72.00 ms â0,3Â % 69.00 ms RexxActivation::termination() 55.00 ms â0,2Â % 5.00 ms RexxInstructionParse::execute(RexxActivation*, RexxExpressionStack*) 50.00 ms â0,2Â % 3.00 ms RexxInstructionExpose::execute(RexxActivation*, RexxExpressionStack*) 39.00 ms â0,2Â % 13.00 ms RexxInstructionDo::execute(RexxActivation*, RexxExpressionStack*) 25.00 ms â0,1Â % 25.00 ms RexxLocalVariables::lookupVariable(RexxString*, unsigned long) 15.00 ms â0,1Â % 8.00 ms RexxInstructionUseStrict::executePositionalArguments(RexxActivation*, RexxExpressionStack*) 14.00 ms â0,1Â % 11.00 ms RexxObject::getObjectVariables(RexxObject*) 11.00 ms â0,0Â % 10.00 ms RexxParseVariable::assign(RexxActivation*, RexxExpressionStack*, RexxObject*) 10.00 ms â0,0Â % 10.00 ms RexxInstructionUseStrict::execute(RexxActivation*, RexxExpressionStack*) 8.00 ms â0,0Â % 8.00 ms RexxObject::messageSend(RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&, bool, bool) 7.00 ms â0,0Â % 1.00 ms RexxInstructionDo::reExecute(RexxActivation*, RexxExpressionStack*, RexxDoBlock*) 6.00 ms â0,0Â % 6.00 ms RexxActivation::getNumericSettings() 5.00 ms â0,0Â % 5.00 ms RexxExpressionMessage::evaluate(RexxActivation*, RexxExpressionStack*) 5.00 ms â0,0Â % 5.00 ms RexxVariableDictionary::reserve(RexxActivity*) 5.00 ms â0,0Â % 4.00 ms RexxHashTable::primitiveNextItem(RexxObject*, RexxObject*) 4.00 ms â0,0Â % 4.00 ms RexxBinaryOperator::evaluate(RexxActivation*, RexxExpressionStack*) 4.00 ms â0,0Â % 4.00 ms RexxTrigger::parse(RexxActivation*, RexxExpressionStack*, RexxTarget*) 3.00 ms â0,0Â % 2.00 ms RexxInstructionReturn::execute(RexxActivation*, RexxExpressionStack*) 2.00 ms â0,0Â % 2.00 ms RexxActivation::findRexxContext() 2.00 ms â0,0Â % 2.00 ms RexxActivation::closeStreams() 2.00 ms â0,0Â % 2.00 ms RexxInstructionEnd::execute(RexxActivation*, RexxExpressionStack*) 2.00 ms â0,0Â % 2.00 ms RexxActivationBase::isStackBase() 2.00 ms â0,0Â % 2.00 ms RexxInstructionThen::execute(RexxActivation*, RexxExpressionStack*) 1.00 ms â0,0Â % 1.00 ms RexxInstructionEndIf::execute(RexxActivation*, RexxExpressionStack*) 1.00 ms â0,0Â % 1.00 ms RexxActivation::returnFrom(RexxObject*) 1.00 ms â0,0Â % 1.00 ms RexxVariableDictionary::release(RexxActivity*) 1.00 ms â0,0Â % 1.00 ms RexxActivation::expose(RexxVariableBase**, unsigned long) 3.56 s 14,2Â % 3.56 s NormalSegmentSet::allocateObject(unsigned long) 357.00 ms â1,4Â % 351.00 ms RexxActivation::RexxActivation(RexxActivity*, RexxActivation*, RexxMethod*, RexxCode*) 27.00 ms â0,1Â % 24.00 ms RexxActivity::pushStackFrame(RexxActivationBase*) 17.00 ms â0,1Â % 0 s NormalSegmentSet::handleAllocationFailure(unsigned long) 11.00 ms â0,0Â % 11.00 ms RexxActivation::termination() 5.00 ms â0,0Â % 5.00 ms RexxLocalVariables::lookupVariable(RexxString*, unsigned long) 5.00 ms â0,0Â % 5.00 ms RexxParseVariable::assign(RexxActivation*, RexxExpressionStack*, RexxObject*) 3.00 ms â0,0Â % 3.00 ms RexxObject::getObjectVariables(RexxObject*) 3.00 ms â0,0Â % 3.00 ms RexxVariableDictionary::reserve(RexxActivity*) 3.00 ms â0,0Â % 3.00 ms RexxInstructionIf::execute(RexxActivation*, RexxExpressionStack*) 3.00 ms â0,0Â % 3.00 ms RexxInstructionMessage::execute(RexxActivation*, RexxExpressionStack*) 2.00 ms â0,0Â % 2.00 ms RexxInstructionAssignment::execute(RexxActivation*, RexxExpressionStack*) 2.00 ms â0,0Â % 2.00 ms RexxInstructionParse::execute(RexxActivation*, RexxExpressionStack*) 2.00 ms â0,0Â % 2.00 ms RexxHashTable::primitiveNextItem(RexxObject*, RexxObject*) 1.00 ms â0,0Â % 1.00 ms RexxActivation::returnFrom(RexxObject*) 1.00 ms â0,0Â % 1.00 ms RexxInstructionThen::execute(RexxActivation*, RexxExpressionStack*) 1.00 ms â0,0Â % 1.00 ms DYLD-STUB$$bzero 1.00 ms â0,0Â % 1.00 ms RexxInstructionUseStrict::executePositionalArguments(RexxActivation*, RexxExpressionStack*) 187.00 ms â0,7Â % 8.00 ms CPPCode::run(RexxActivity*, RexxMethod*, RexxObject*, RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&) 8.00 ms â0,0Â % 8.00 ms RexxActivation::RexxActivation(RexxActivity*, RexxActivation*, RexxMethod*, RexxCode*) 5.00 ms â0,0Â % 5.00 ms RexxString::hash() 3.00 ms â0,0Â % 3.00 ms RexxActivation::run(RexxObject*, RexxString*, RexxArray*, RexxObject**, unsigned long, unsigned long, RexxInstruction*, ProtectedObject&) 3.00 ms â0,0Â % 3.00 ms <deduplicated_symbol> 1.00 ms â0,0Â % 1.00 ms RexxActivation::getReceiver() 1.00 ms â0,0Â % 1.00 ms RexxActivity::pushStackFrame(RexxActivationBase*) 1.00 ms â0,0Â % 1.00 ms DYLD-STUB$$memcmp 1.00 ms â0,0Â % 1.00 ms RexxMutableBuffer::append(RexxObject*) 10.76 s 42,9Â % 15.00 ms RexxExpressionMessage::evaluate(RexxActivation*, RexxExpressionStack*) 17.00 ms â0,1Â % 17.00 ms RexxParseVariable::evaluate(RexxActivation*, RexxExpressionStack*) 16.00 ms â0,1Â % 7.00 ms RexxBinaryOperator::evaluate(RexxActivation*, RexxExpressionStack*) 7.00 ms â0,0Â % 4.00 ms RexxExpressionFunction::evaluate(RexxActivation*, RexxExpressionStack*) 6.00 ms â0,0Â % 6.00 ms RexxLocalVariables::lookupVariable(RexxString*, unsigned long) 4.00 ms â0,0Â % 4.00 ms RexxString::hash() 4.00 ms â0,0Â % 4.00 ms RexxCode::run(RexxActivity*, RexxMethod*, RexxObject*, RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&) 4.00 ms â0,0Â % 4.00 ms CPPCode::run(RexxActivity*, RexxMethod*, RexxObject*, RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&) 32.00 ms â0,1Â % 1.00 ms RexxInstructionIf::execute(RexxActivation*, RexxExpressionStack*) 25.00 ms â0,1Â % 3.00 ms RexxInstructionParse::execute(RexxActivation*, RexxExpressionStack*) 12.00 ms â0,0Â % 1.00 ms RexxInstructionAssignment::execute(RexxActivation*, RexxExpressionStack*) 10.00 ms â0,0Â % 10.00 ms RexxInstructionSelect::execute(RexxActivation*, RexxExpressionStack*) 5.00 ms â0,0Â % 5.00 ms RexxInstructionEndIf::execute(RexxActivation*, RexxExpressionStack*) 3.00 ms â0,0Â % 3.00 ms RexxInstructionDo::execute(RexxActivation*, RexxExpressionStack*) 3.00 ms â0,0Â % 3.00 ms RexxInstructionDo::reExecute(RexxActivation*, RexxExpressionStack*, RexxDoBlock*) 2.00 ms â0,0Â % 2.00 ms RexxInstructionThen::execute(RexxActivation*, RexxExpressionStack*) 2.00 ms â0,0Â % 2.00 ms RexxTrigger::parse(RexxActivation*, RexxExpressionStack*, RexxTarget*) 2.00 ms â0,0Â % 2.00 ms RexxInstructionEnd::execute(RexxActivation*, RexxExpressionStack*) 4.00 ms â0,0Â % 4.00 ms RexxInstructionMessage::execute(RexxActivation*, RexxExpressionStack*) 2.00 ms â0,0Â % 2.00 ms RexxInstructionDo::execute(RexxActivation*, RexxExpressionStack*) 1.00 ms â0,0Â % 1.00 ms RexxInstructionSelect::execute(RexxActivation*, RexxExpressionStack*) 1.00 ms â0,0Â % 1.00 ms RexxInstructionThen::execute(RexxActivation*, RexxExpressionStack*) 1.00 ms â0,0Â % 1.00 ms RexxInstructionAssignment::execute(RexxActivation*, RexxExpressionStack*) 26.00 ms â0,1Â % 0 s RexxInstructionAssignment::execute(RexxActivation*, RexxExpressionStack*) 180.00 ms â0,7Â % 0 s RexxInstructionCall::execute(RexxActivation*, RexxExpressionStack*) 1.00 ms â0,0Â % 0 s RexxSource::processInstall(RexxActivation*) 1.00 ms â0,0Â % 0 s RexxInstructionSay::execute(RexxActivation*, RexxExpressionStack*) 47.00 ms â0,2Â % 0 s Terminate 39.00 ms â0,2Â % 0 s Interpreter::terminateInterpreter() 2.00 ms â0,0Â % 0 s RexxCreateInterpreter
Apple M1 Pro 32 GB Using Instruments Time Profiler is sampling-based, not instrumentation-based. ================================================================================ Inverted call tree Flattened recursion Hidden system libraries ================================================================================ (see also the not inverted tree below) With Invert Call Tree enabled, each row answers the question: âIn how much total sampled time did this function appear anywhere on the stack?â Here, findFit does not appear. During 37.7% of all sampled execution, the call stack contained NormalSegmentSet::allocateObject. It does not mean: The body of allocateObject executed for 5.82 s Or that it consumed 37.7% of CPU exclusively It means allocateObject is on the critical execution path for most of the runtime. 15.42 s 100,0Â % 0 s rexx (67811) 5.82 s 37,7Â % 0 s NormalSegmentSet::allocateObject(unsigned long) 1.97 s 12,8Â % 0 s RexxHashTable::live(unsigned long) 1.74 s 11,3Â % 0 s RexxMemory::collect() 580.00 ms â3,8Â % 0 s RexxActivation::RexxActivation(RexxActivity*, RexxActivation*, RexxMethod*, RexxCode*) 515.00 ms â3,3Â % 0 s RexxMemory::mark(RexxObject*) 370.00 ms â2,4Â % 0 s RexxObject::messageSend(RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&, bool, bool) 296.00 ms â1,9Â % 0 s RexxActivation::run(RexxObject*, RexxString*, RexxArray*, RexxObject**, unsigned long, unsigned long, RexxInstruction*, ProtectedObject&) 268.00 ms â1,7Â % 0 s RexxMemory::newObject(unsigned long, unsigned long) 212.00 ms â1,4Â % 0 s RexxDirectory::live(unsigned long) 190.00 ms â1,2Â % 0 s RexxMemory::markObjectsMain(RexxObject*) 180.00 ms â1,2Â % 0 s RexxParseVariable::evaluate(RexxActivation*, RexxExpressionStack*) 169.00 ms â1,1Â % 0 s CPPCode::run(RexxActivity*, RexxMethod*, RexxObject*, RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&) 133.00 ms â0,9Â % 0 s RexxActivation::termination() 121.00 ms â0,8Â % 0 s RexxCode::run(RexxActivity*, RexxMethod*, RexxObject*, RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&) 118.00 ms â0,8Â % 0 s RexxExpressionMessage::evaluate(RexxActivation*, RexxExpressionStack*) 105.00 ms â0,7Â % 0 s StringUtil::verify(char const*, unsigned long, RexxString*, RexxString*, RexxInteger*, RexxInteger*) 102.00 ms â0,7Â % 0 s RexxInstructionMessage::execute(RexxActivation*, RexxExpressionStack*) 100.00 ms â0,6Â % 0 s RexxString::strictEqual(RexxObject*) 98.00 ms â0,6Â % 0 s RexxInteger::plus(RexxInteger*) 95.00 ms â0,6Â % 0 s RexxTrigger::parse(RexxActivation*, RexxExpressionStack*, RexxTarget*) 93.00 ms â0,6Â % 0 s RexxBinaryOperator::evaluate(RexxActivation*, RexxExpressionStack*) 89.00 ms â0,6Â % 0 s RexxLocalVariables::lookupVariable(RexxString*, unsigned long) 88.00 ms â0,6Â % 0 s RexxInstructionDo::execute(RexxActivation*, RexxExpressionStack*) 71.00 ms â0,5Â % 0 s RexxString::hash() 69.00 ms â0,4Â % 0 s RexxArray::live(unsigned long) 60.00 ms â0,4Â % 0 s RexxActivation::trapOn(RexxString*, RexxInstructionCallBase*) 58.00 ms â0,4Â % 0 s RexxArray::operator new(unsigned long, RexxObject*, RexxObject*, RexxObject*) 55.00 ms â0,4Â % 0 s RexxInteger::evaluate(RexxActivation*, RexxExpressionStack*) 53.00 ms â0,3Â % 0 s RexxParseVariable::expose(RexxActivation*, RexxExpressionStack*, RexxVariableDictionary*) 52.00 ms â0,3Â % 0 s RexxInstructionIf::execute(RexxActivation*, RexxExpressionStack*) 50.00 ms â0,3Â % 0 s RexxInstructionSelect::execute(RexxActivation*, RexxExpressionStack*) 49.00 ms â0,3Â % 0 s RexxInstructionParse::execute(RexxActivation*, RexxExpressionStack*) 47.00 ms â0,3Â % 0 s RexxInstructionAssignment::execute(RexxActivation*, RexxExpressionStack*) 47.00 ms â0,3Â % 0 s NormalSegmentSet::addDeadObject(char*, unsigned long) 45.00 ms â0,3Â % 0 s RexxString::getHashValue() 45.00 ms â0,3Â % 0 s RexxParseVariable::assign(RexxActivation*, RexxExpressionStack*, RexxObject*) 44.00 ms â0,3Â % 0 s RexxExpressionFunction::evaluate(RexxActivation*, RexxExpressionStack*) 44.00 ms â0,3Â % 0 s RexxArray::operator new(unsigned long, unsigned long, unsigned long, RexxClass*) 40.00 ms â0,3Â % 0 s RexxObject::getObjectVariables(RexxObject*) 38.00 ms â0,2Â % 0 s RexxNumberString::newInstanceFromWholenumber(long) 37.00 ms â0,2Â % 0 s RexxActivation::rexxVariable(RexxString*) 36.00 ms â0,2Â % 0 s RexxMutableBufferClass::newRexx(RexxObject**, unsigned long, unsigned long) 34.00 ms â0,2Â % 0 s RexxDirectory::newRexx(RexxObject**, unsigned long, unsigned long) 32.00 ms â0,2Â % 0 s RexxInstructionDo::controlSetup(RexxActivation*, RexxExpressionStack*, RexxDoBlock*) 31.00 ms â0,2Â % 0 s RexxString::upper() 29.00 ms â0,2Â % 0 s MemorySegmentSet::sweep() 28.00 ms â0,2Â % 0 s RexxString::newRexx(RexxObject**, unsigned long, unsigned long) 27.00 ms â0,2Â % 0 s RexxDirectory::at(RexxString*) 27.00 ms â0,2Â % 0 s MemorySegmentPool::newSegment(unsigned long) 26.00 ms â0,2Â % 0 s RexxSource::findClass(RexxString*) 25.00 ms â0,2Â % 0 s RexxNumberString::prepareOperatorNumber(unsigned long, unsigned long, bool) 24.00 ms â0,2Â % 0 s RexxString::strCompare(char const*) 24.00 ms â0,2Â % 0 s RexxString::evaluate(RexxActivation*, RexxExpressionStack*) 23.00 ms â0,1Â % 0 s RexxInstructionReturn::execute(RexxActivation*, RexxExpressionStack*) 23.00 ms â0,1Â % 0 s DYLD-STUB$$bzero 22.00 ms â0,1Â % 0 s RexxHashTable::primitiveNextItem(RexxObject*, RexxObject*) 22.00 ms â0,1Â % 0 s RexxActivity::pushStackFrame(RexxActivationBase*) 21.00 ms â0,1Â % 0 s RexxMutableBuffer::append(RexxObject*) 19.00 ms â0,1Â % 0 s RexxInteger::minus(RexxInteger*) 19.00 ms â0,1Â % 0 s RexxActivation::expose(RexxVariableBase**, unsigned long) 19.00 ms â0,1Â % 0 s RexxTarget::remainder() 18.00 ms â0,1Â % 0 s RexxDotVariable::evaluate(RexxActivation*, RexxExpressionStack*) 18.00 ms â0,1Â % 0 s RexxTarget::next(RexxActivation*) 17.00 ms â0,1Â % 0 s DYLD-STUB$$strlen 17.00 ms â0,1Â % 0 s RexxNumberString::prepareNumber(unsigned long, bool) 17.00 ms â0,1Â % 0 s RexxMutableBuffer::makeString() 16.00 ms â0,1Â % 0 s RexxString::makeString() 15.00 ms â0,1Â % 0 s RexxVariableDictionary::reserve(RexxActivity*) 15.00 ms â0,1Â % 0 s DYLD-STUB$$memcpy 15.00 ms â0,1Â % 0 s DYLD-STUB$$memcmp 15.00 ms â0,1Â % 0 s RexxDirectory::put(RexxObject*, RexxString*) 14.00 ms â0,1Â % 0 s RexxString::lengthRexx() 13.00 ms â0,1Â % 0 s RexxHashTable::stringPut(RexxObject*, RexxString*) 13.00 ms â0,1Â % 0 s RexxActivation::returnFrom(RexxObject*) 12.00 ms â0,1Â % 0 s RexxInstructionDo::reExecute(RexxActivation*, RexxExpressionStack*, RexxDoBlock*) 12.00 ms â0,1Â % 0 s builtin_function_ARG(RexxActivation*, RexxObject**, unsigned long, unsigned long, RexxExpressionStack*) 12.00 ms â0,1Â % 0 s RexxHashTableCollection::get(RexxObject*) 12.00 ms â0,1Â % 0 s RexxInteger::unsignedNumberValue(unsigned long&, unsigned long) 11.00 ms â0,1Â % 0 s RexxInteger::strictEqual(RexxObject*) 11.00 ms â0,1Â % 0 s RexxArray::validateIndex(RexxObject**, unsigned long, unsigned long, unsigned long, unsigned long&) 11.00 ms â0,1Â % 0 s RexxNumberString::comp(RexxObject*, RexxString*, RexxInteger**) 11.00 ms â0,1Â % 0 s RexxObject::requestRexx(RexxString*) 11.00 ms â0,1Â % 0 s RexxInstructionExpose::execute(RexxActivation*, RexxExpressionStack*) 10.00 ms â0,1Â % 0 s RexxInstructionEndIf::execute(RexxActivation*, RexxExpressionStack*) 10.00 ms â0,1Â % 0 s RexxInteger::isGreaterThan(RexxObject*) 10.00 ms â0,1Â % 0 s RexxInstructionEnd::execute(RexxActivation*, RexxExpressionStack*) 10.00 ms â0,1Â % 0 s StringUtil::substr(char const*, unsigned long, RexxInteger*, RexxInteger*, RexxString*) 9.00 ms â0,1Â % 0 s RexxActivation::findRexxContext() 9.00 ms â0,1Â % 0 s RexxActivation::closeStreams() 9.00 ms â0,1Â % 0 s RexxInstructionElse::execute(RexxActivation*, RexxExpressionStack*) 8.00 ms â0,1Â % 0 s RexxInstructionThen::execute(RexxActivation*, RexxExpressionStack*) 8.00 ms â0,1Â % 0 s RexxInstructionUseStrict::executePositionalArguments(RexxActivation*, RexxExpressionStack*) 7.00 ms â0,0Â % 0 s RexxInstructionDo::checkControl(RexxActivation*, RexxExpressionStack*, RexxDoBlock*, bool) 7.00 ms â0,0Â % 0 s SecurityManager::checkLocalAccess(RexxString*) 7.00 ms â0,0Â % 0 s RexxArray::lastRexx() 7.00 ms â0,0Â % 0 s RexxNumberString::maxMin(RexxObject**, unsigned long, unsigned long, unsigned int) 7.00 ms â0,0Â % 0 s RexxActivationBase::isStackBase() 6.00 ms â0,0Â % 0 s RexxInstructionSignal::execute(RexxActivation*, RexxExpressionStack*) 6.00 ms â0,0Â % 0 s RexxString::dynamicTarget(RexxObject**, unsigned long, unsigned long) 6.00 ms â0,0Â % 0 s RexxCode::getSourceObject() 6.00 ms â0,0Â % 0 s RexxInstructionUseStrict::execute(RexxActivation*, RexxExpressionStack*) 6.00 ms â0,0Â % 0 s RexxArray::putRexx(RexxObject**, unsigned long, unsigned long) 5.00 ms â0,0Â % 0 s RexxNumberString::unsignedNumberValue(unsigned long&, unsigned long) 5.00 ms â0,0Â % 0 s SecurityManager::checkEnvironmentAccess(RexxString*) 5.00 ms â0,0Â % 0 s RexxVariableDictionary::release(RexxActivity*) 5.00 ms â0,0Â % 0 s RexxActivation::getNumericSettings() 4.00 ms â0,0Â % 0 s RexxParseVariable::set(RexxActivation*, RexxObject*) 4.00 ms â0,0Â % 0 s RexxObject::makeStringRexx() 3.00 ms â0,0Â % 0 s MemorySegmentPool::newLargeSegment(unsigned long) 3.00 ms â0,0Â % 0 s RexxInteger::makeString() 3.00 ms â0,0Â % 0 s RexxParseVariable::getValue(RexxActivation*) 3.00 ms â0,0Â % 0 s SysFile::read(char*, unsigned long, unsigned long&) 3.00 ms â0,0Â % 0 s RexxObject::instanceMethod(RexxString*) 3.00 ms â0,0Â % 0 s RexxInstructionEndIf::live(unsigned long) 3.00 ms â0,0Â % 0 s <deduplicated_symbol> 2.00 ms â0,0Â % 0 s RexxExpressionMessage::live(unsigned long) 2.00 ms â0,0Â % 0 s RexxObject::requestString() 2.00 ms â0,0Â % 0 s RexxObject::sendMessage(RexxString*, RexxObject*) 2.00 ms â0,0Â % 0 s RexxMemory::markObjects() 2.00 ms â0,0Â % 0 s RexxBuffer::getData() 2.00 ms â0,0Â % 0 s RexxInteger::integerValue(unsigned long) 2.00 ms â0,0Â % 0 s RexxInteger::primitiveMakeString() 1.00 ms â0,0Â % 1.00 ms 0x100407185 1.00 ms â0,0Â % 0 s SystemInterpreter::loadImage(char**, unsigned long*) 1.00 ms â0,0Â % 0 s LibraryPackage::reload() 1.00 ms â0,0Â % 0 s SysFile::setStdIn() 1.00 ms â0,0Â % 0 s RexxSource::addVariable(RexxString*) 1.00 ms â0,0Â % 0 s StreamInfo::writeBuffer(char const*, unsigned long, unsigned long&) 1.00 ms â0,0Â % 0 s SysFile::write(char const*, unsigned long, unsigned long&) 1.00 ms â0,0Â % 0 s RexxInstructionParse::live(unsigned long) 1.00 ms â0,0Â % 0 s PackageClass::live(unsigned long) 1.00 ms â0,0Â % 0 s RexxVariableDictionary::live(unsigned long) 1.00 ms â0,0Â % 0 s LargeSegmentSet::addDeadObject(char*, unsigned long) 1.00 ms â0,0Â % 0 s RexxInstructionMessage::live(unsigned long) 1.00 ms â0,0Â % 0 s InterpreterInstance::live(unsigned long) 1.00 ms â0,0Â % 0 s builtin_function_ORXMIN(RexxActivation*, RexxObject**, unsigned long, unsigned long, RexxExpressionStack*) 1.00 ms â0,0Â % 0 s RexxInstructionAssignment::live(unsigned long) 1.00 ms â0,0Â % 0 s DYLD-STUB$$__toupper 1.00 ms â0,0Â % 0 s RexxString::live(unsigned long) 1.00 ms â0,0Â % 0 s RexxObject::operator_strictEqual(RexxObject*) 1.00 ms â0,0Â % 0 s RexxInstructionForward::live(unsigned long) 1.00 ms â0,0Â % 0 s RexxActivation::live(unsigned long) 1.00 ms â0,0Â % 0 s RexxNilObject::getHashValue() 1.00 ms â0,0Â % 0 s RexxDotVariable::live(unsigned long) 1.00 ms â0,0Â % 0 s RexxInstructionSelect::live(unsigned long) 1.00 ms â0,0Â % 0 s RexxInstructionIf::live(unsigned long) 1.00 ms â0,0Â % 0 s RexxInteger::isLessOrEqual(RexxObject*) ================================================================================ Switching to Not inverted call tree ================================================================================ With Invert Call Tree disabled, each row answers the question: âHow much time is spent under this call path?â Search for "allocateObject" to unfold the call tree. (select auto expand) 290.00 ms â1,9Â % 290.00 ms NormalSegmentSet::allocateObject(unsigned long) 121.00 ms â0,8Â % 121.00 ms NormalSegmentSet::allocateObject(unsigned long) 1.86 s 12,1Â % 1.86 s NormalSegmentSet::allocateObject(unsigned long) NormalSegmentSet::allocateObject Weight: 1.86 s Self Weight: 1.86 s This means: Almost all of the time attributed to allocateObject is spent in the body of allocateObject itself. 15.36 s 99,6Â % 0 s RexxNativeActivation::run(ActivityDispatcher&) 15.36 s 99,6Â % 0 s CallProgramDispatcher::run() 15.36 s 99,6Â % 0 s RoutineClass::runProgram(RexxActivity*, RexxObject**, unsigned long, unsigned long, ProtectedObject&) 15.36 s 99,6Â % 0 s RexxActivation::run(RexxObject*, RexxString*, RexxArray*, RexxObject**, unsigned long, unsigned long, RexxInstruction*, ProtectedObject&) 15.18 s 98,5Â % 0 s RexxInstructionAssignment::execute(RexxActivation*, RexxExpressionStack*) 15.18 s 98,5Â % 0 s RexxExpressionFunction::evaluate(RexxActivation*, RexxExpressionStack*) 15.18 s 98,5Â % 0 s RexxActivation::externalCall(RexxString*, RexxObject**, unsigned long, unsigned long, RexxString*, ProtectedObject&) 15.18 s 98,5Â % 0 s RexxActivation::run(RexxObject*, RexxString*, RexxArray*, RexxObject**, unsigned long, unsigned long, RexxInstruction*, ProtectedObject&) 15.18 s 98,4Â % 0 s RexxInstructionAssignment::execute(RexxActivation*, RexxExpressionStack*) 15.18 s 98,4Â % 0 s RexxExpressionMessage::evaluate(RexxActivation*, RexxExpressionStack*) 15.18 s 98,4Â % 0 s RexxObject::messageSend(RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&, bool, bool) 15.18 s 98,4Â % 0 s RexxCode::run(RexxActivity*, RexxMethod*, RexxObject*, RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&) 15.18 s 98,4Â % 0 s RexxActivation::run(RexxObject*, RexxString*, RexxArray*, RexxObject**, unsigned long, unsigned long, RexxInstruction*, ProtectedObject&) 15.16 s 98,3Â % 0 s RexxInstructionReturn::execute(RexxActivation*, RexxExpressionStack*) 15.16 s 98,3Â % 0 s RexxExpressionMessage::evaluate(RexxActivation*, RexxExpressionStack*) 15.16 s 98,3Â % 0 s RexxObject::messageSend(RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&, bool, bool) 15.16 s 98,3Â % 0 s RexxCode::run(RexxActivity*, RexxMethod*, RexxObject*, RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&) 15.15 s 98,3Â % 12.00 ms RexxActivation::run(RexxObject*, RexxString*, RexxArray*, RexxObject**, unsigned long, unsigned long, RexxInstruction*, ProtectedObject&) 15.04 s 97,6Â % 80.00 ms RexxInstructionMessage::execute(RexxActivation*, RexxExpressionStack*) 8.47 s 54,9Â % 90.00 ms RexxObject::messageSend(RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&, bool, bool) 8.17 s 53,0Â % 60.00 ms RexxCode::run(RexxActivity*, RexxMethod*, RexxObject*, RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&) 5.79 s 37,6Â % 121.00 ms RexxActivation::run(RexxObject*, RexxString*, RexxArray*, RexxObject**, unsigned long, unsigned long, RexxInstruction*, ProtectedObject&) 2.69 s 17,4Â % 15.00 ms RexxInstructionAssignment::execute(RexxActivation*, RexxExpressionStack*) 2.63 s 17,1Â % 34.00 ms RexxExpressionMessage::evaluate(RexxActivation*, RexxExpressionStack*) 2.54 s 16,5Â % 48.00 ms RexxObject::messageSend(RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&, bool, bool) 2.25 s 14,6Â % 10.00 ms RexxCode::run(RexxActivity*, RexxMethod*, RexxObject*, RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&) 2.05 s 13,3Â % 26.00 ms RexxActivation::run(RexxObject*, RexxString*, RexxArray*, RexxObject**, unsigned long, unsigned long, RexxInstruction*, ProtectedObject&) 913.00 ms â5,9Â % 2.00 ms RexxInstructionMessage::execute(RexxActivation*, RexxExpressionStack*) 589.00 ms â3,8Â % 4.00 ms RexxExpressionMessage::evaluate(RexxActivation*, RexxExpressionStack*) 581.00 ms â3,8Â % 4.00 ms RexxObject::messageSend(RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&, bool, bool) 573.00 ms â3,7Â % 4.00 ms RexxCode::run(RexxActivity*, RexxMethod*, RexxObject*, RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&) 290.00 ms â1,9Â % 290.00 ms NormalSegmentSet::allocateObject(unsigned long) 251.00 ms â1,6Â % 15.00 ms RexxActivation::run(RexxObject*, RexxString*, RexxArray*, RexxObject**, unsigned long, unsigned long, RexxInstruction*, ProtectedObject&) 22.00 ms â0,1Â % 21.00 ms RexxActivation::RexxActivation(RexxActivity*, RexxActivation*, RexxMethod*, RexxCode*) 4.00 ms â0,0Â % 2.00 ms RexxActivity::pushStackFrame(RexxActivationBase*) 1.00 ms â0,0Â % 0 s NormalSegmentSet::handleAllocationFailure(unsigned long) 1.00 ms â0,0Â % 1.00 ms RexxLocalVariables::lookupVariable(RexxString*, unsigned long) 1.00 ms â0,0Â % 1.00 ms RexxString::dynamicTarget(RexxObject**, unsigned long, unsigned long) 1.00 ms â0,0Â % 1.00 ms DYLD-STUB$$memcmp 1.00 ms â0,0Â % 1.00 ms RexxActivation::run(RexxObject*, RexxString*, RexxArray*, RexxObject**, unsigned long, unsigned long, RexxInstruction*, ProtectedObject&) 1.00 ms â0,0Â % 1.00 ms RexxString::hash() 2.00 ms â0,0Â % 2.00 ms RexxParseVariable::evaluate(RexxActivation*, RexxExpressionStack*) 2.00 ms â0,0Â % 0 s RexxBinaryOperator::evaluate(RexxActivation*, RexxExpressionStack*) 308.00 ms â2,0Â % 5.00 ms RexxObject::messageSend(RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&, bool, bool) 11.00 ms â0,1Â % 6.00 ms RexxExpressionFunction::evaluate(RexxActivation*, RexxExpressionStack*) 1.00 ms â0,0Â % 1.00 ms builtin_function_ARG(RexxActivation*, RexxObject**, unsigned long, unsigned long, RexxExpressionStack*) 1.00 ms â0,0Â % 1.00 ms RexxLocalVariables::lookupVariable(RexxString*, unsigned long) 1.00 ms â0,0Â % 1.00 ms RexxHashTableCollection::get(RexxObject*) 754.00 ms â4,9Â % 1.00 ms RexxInstructionSignal::execute(RexxActivation*, RexxExpressionStack*) 132.00 ms â0,9Â % 3.00 ms RexxInstructionReturn::execute(RexxActivation*, RexxExpressionStack*) 62.00 ms â0,4Â % 6.00 ms RexxInstructionParse::execute(RexxActivation*, RexxExpressionStack*) 56.00 ms â0,4Â % 6.00 ms RexxInstructionIf::execute(RexxActivation*, RexxExpressionStack*) 29.00 ms â0,2Â % 8.00 ms RexxInstructionAssignment::execute(RexxActivation*, RexxExpressionStack*) 23.00 ms â0,1Â % 18.00 ms RexxInstructionDo::execute(RexxActivation*, RexxExpressionStack*) 14.00 ms â0,1Â % 2.00 ms RexxInstructionExpose::execute(RexxActivation*, RexxExpressionStack*) 11.00 ms â0,1Â % 11.00 ms RexxActivation::termination() 5.00 ms â0,0Â % 4.00 ms RexxParseVariable::assign(RexxActivation*, RexxExpressionStack*, RexxObject*) 4.00 ms â0,0Â % 4.00 ms RexxLocalVariables::lookupVariable(RexxString*, unsigned long) 4.00 ms â0,0Â % 4.00 ms RexxInstructionElse::execute(RexxActivation*, RexxExpressionStack*) 4.00 ms â0,0Â % 4.00 ms RexxInstructionEnd::execute(RexxActivation*, RexxExpressionStack*) 3.00 ms â0,0Â % 3.00 ms RexxInstructionThen::execute(RexxActivation*, RexxExpressionStack*) 3.00 ms â0,0Â % 3.00 ms RexxTrigger::parse(RexxActivation*, RexxExpressionStack*, RexxTarget*) 2.00 ms â0,0Â % 2.00 ms RexxBinaryOperator::evaluate(RexxActivation*, RexxExpressionStack*) 2.00 ms â0,0Â % 2.00 ms RexxInstructionEndIf::execute(RexxActivation*, RexxExpressionStack*) 1.00 ms â0,0Â % 1.00 ms RexxActivation::trapOn(RexxString*, RexxInstructionCallBase*) 1.00 ms â0,0Â % 1.00 ms RexxObject::messageSend(RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&, bool, bool) 1.00 ms â0,0Â % 1.00 ms RexxExpressionMessage::evaluate(RexxActivation*, RexxExpressionStack*) 1.00 ms â0,0Â % 1.00 ms RexxParseVariable::evaluate(RexxActivation*, RexxExpressionStack*) 1.00 ms â0,0Â % 1.00 ms RexxVariableDictionary::reserve(RexxActivity*) 121.00 ms â0,8Â % 121.00 ms NormalSegmentSet::allocateObject(unsigned long) 35.00 ms â0,2Â % 34.00 ms RexxActivation::RexxActivation(RexxActivity*, RexxActivation*, RexxMethod*, RexxCode*) 13.00 ms â0,1Â % 0 s NormalSegmentSet::handleAllocationFailure(unsigned long) 4.00 ms â0,0Â % 4.00 ms RexxInstructionIf::execute(RexxActivation*, RexxExpressionStack*) 4.00 ms â0,0Â % 4.00 ms RexxInstructionAssignment::execute(RexxActivation*, RexxExpressionStack*) 3.00 ms â0,0Â % 1.00 ms RexxActivity::pushStackFrame(RexxActivationBase*) 2.00 ms â0,0Â % 2.00 ms RexxInstructionDo::execute(RexxActivation*, RexxExpressionStack*) 1.00 ms â0,0Â % 1.00 ms RexxVariableDictionary::reserve(RexxActivity*) 1.00 ms â0,0Â % 1.00 ms RexxInstructionExpose::execute(RexxActivation*, RexxExpressionStack*) 1.00 ms â0,0Â % 1.00 ms RexxInstructionMessage::execute(RexxActivation*, RexxExpressionStack*) 1.00 ms â0,0Â % 1.00 ms RexxLocalVariables::lookupVariable(RexxString*, unsigned long) 1.00 ms â0,0Â % 1.00 ms RexxObject::getObjectVariables(RexxObject*) 224.00 ms â1,5Â % 43.00 ms CPPCode::run(RexxActivity*, RexxMethod*, RexxObject*, RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&) 5.00 ms â0,0Â % 5.00 ms DYLD-STUB$$memcmp 4.00 ms â0,0Â % 4.00 ms RexxString::dynamicTarget(RexxObject**, unsigned long, unsigned long) 4.00 ms â0,0Â % 4.00 ms StringUtil::verify(char const*, unsigned long, RexxString*, RexxString*, RexxInteger*, RexxInteger*) 3.00 ms â0,0Â % 3.00 ms RexxString::getHashValue() 2.00 ms â0,0Â % 2.00 ms RexxString::hash() 2.00 ms â0,0Â % 2.00 ms RexxMutableBufferClass::newRexx(RexxObject**, unsigned long, unsigned long) 1.00 ms â0,0Â % 1.00 ms <deduplicated_symbol> 28.00 ms â0,2Â % 0 s RexxDotVariable::evaluate(RexxActivation*, RexxExpressionStack*) 14.00 ms â0,1Â % 14.00 ms RexxParseVariable::evaluate(RexxActivation*, RexxExpressionStack*) 5.00 ms â0,0Â % 5.00 ms CPPCode::run(RexxActivity*, RexxMethod*, RexxObject*, RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&) 3.00 ms â0,0Â % 3.00 ms RexxString::hash() 3.00 ms â0,0Â % 3.00 ms RexxString::evaluate(RexxActivation*, RexxExpressionStack*) 1.00 ms â0,0Â % 1.00 ms RexxActivation::rexxVariable(RexxString*) 30.00 ms â0,2Â % 4.00 ms RexxBinaryOperator::evaluate(RexxActivation*, RexxExpressionStack*) 5.00 ms â0,0Â % 5.00 ms RexxParseVariable::evaluate(RexxActivation*, RexxExpressionStack*) 4.00 ms â0,0Â % 4.00 ms RexxObject::messageSend(RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&, bool, bool) 2.00 ms â0,0Â % 2.00 ms RexxInteger::plus(RexxInteger*) 2.49 s 16,2Â % 2.00 ms RexxInstructionSignal::execute(RexxActivation*, RexxExpressionStack*) 121.00 ms â0,8Â % 11.00 ms RexxInstructionIf::execute(RexxActivation*, RexxExpressionStack*) 71.00 ms â0,5Â % 5.00 ms RexxInstructionExpose::execute(RexxActivation*, RexxExpressionStack*) 66.00 ms â0,4Â % 62.00 ms RexxActivation::termination() 53.00 ms â0,3Â % 4.00 ms RexxInstructionParse::execute(RexxActivation*, RexxExpressionStack*) 44.00 ms â0,3Â % 13.00 ms RexxInstructionDo::execute(RexxActivation*, RexxExpressionStack*) 25.00 ms â0,2Â % 25.00 ms RexxLocalVariables::lookupVariable(RexxString*, unsigned long) 17.00 ms â0,1Â % 12.00 ms RexxObject::getObjectVariables(RexxObject*) 12.00 ms â0,1Â % 11.00 ms RexxHashTable::primitiveNextItem(RexxObject*, RexxObject*) 11.00 ms â0,1Â % 4.00 ms RexxInstructionUseStrict::executePositionalArguments(RexxActivation*, RexxExpressionStack*) 8.00 ms â0,1Â % 8.00 ms RexxExpressionMessage::evaluate(RexxActivation*, RexxExpressionStack*) 8.00 ms â0,1Â % 8.00 ms RexxObject::messageSend(RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&, bool, bool) 7.00 ms â0,0Â % 2.00 ms RexxInstructionDo::reExecute(RexxActivation*, RexxExpressionStack*, RexxDoBlock*) 6.00 ms â0,0Â % 6.00 ms RexxInstructionUseStrict::execute(RexxActivation*, RexxExpressionStack*) 6.00 ms â0,0Â % 6.00 ms RexxActivation::closeStreams() 5.00 ms â0,0Â % 5.00 ms RexxActivation::returnFrom(RexxObject*) 5.00 ms â0,0Â % 5.00 ms RexxVariableDictionary::reserve(RexxActivity*) 5.00 ms â0,0Â % 4.00 ms RexxParseVariable::assign(RexxActivation*, RexxExpressionStack*, RexxObject*) 4.00 ms â0,0Â % 4.00 ms RexxInstructionEndIf::execute(RexxActivation*, RexxExpressionStack*) 3.00 ms â0,0Â % 3.00 ms RexxInstructionReturn::execute(RexxActivation*, RexxExpressionStack*) 3.00 ms â0,0Â % 3.00 ms RexxTrigger::parse(RexxActivation*, RexxExpressionStack*, RexxTarget*) 2.00 ms â0,0Â % 2.00 ms RexxBinaryOperator::evaluate(RexxActivation*, RexxExpressionStack*) 2.00 ms â0,0Â % 2.00 ms RexxExpressionFunction::evaluate(RexxActivation*, RexxExpressionStack*) 2.00 ms â0,0Â % 2.00 ms RexxInstructionEnd::execute(RexxActivation*, RexxExpressionStack*) 2.00 ms â0,0Â % 2.00 ms RexxParseVariable::evaluate(RexxActivation*, RexxExpressionStack*) 1.00 ms â0,0Â % 1.00 ms RexxVariableDictionary::release(RexxActivity*) 1.00 ms â0,0Â % 1.00 ms RexxTarget::next(RexxActivation*) 1.00 ms â0,0Â % 1.00 ms RexxActivation::trapOn(RexxString*, RexxInstructionCallBase*) 1.00 ms â0,0Â % 1.00 ms RexxActivation::findRexxContext() 1.86 s 12,1Â % 1.86 s NormalSegmentSet::allocateObject(unsigned long) 328.00 ms â2,1Â % 321.00 ms RexxActivation::RexxActivation(RexxActivity*, RexxActivation*, RexxMethod*, RexxCode*) 73.00 ms â0,5Â % 0 s NormalSegmentSet::handleAllocationFailure(unsigned long) 17.00 ms â0,1Â % 12.00 ms RexxActivity::pushStackFrame(RexxActivationBase*) 5.00 ms â0,0Â % 5.00 ms RexxObject::getObjectVariables(RexxObject*) 5.00 ms â0,0Â % 5.00 ms RexxLocalVariables::lookupVariable(RexxString*, unsigned long) 4.00 ms â0,0Â % 4.00 ms RexxActivation::termination() 4.00 ms â0,0Â % 4.00 ms RexxHashTable::primitiveNextItem(RexxObject*, RexxObject*) 4.00 ms â0,0Â % 4.00 ms RexxParseVariable::assign(RexxActivation*, RexxExpressionStack*, RexxObject*) 2.00 ms â0,0Â % 2.00 ms RexxInstructionDo::reExecute(RexxActivation*, RexxExpressionStack*, RexxDoBlock*) 2.00 ms â0,0Â % 2.00 ms RexxInstructionMessage::execute(RexxActivation*, RexxExpressionStack*) 2.00 ms â0,0Â % 2.00 ms RexxInstructionAssignment::execute(RexxActivation*, RexxExpressionStack*) 1.00 ms â0,0Â % 1.00 ms RexxInstructionUseStrict::executePositionalArguments(RexxActivation*, RexxExpressionStack*) 1.00 ms â0,0Â % 1.00 ms RexxActivation::returnFrom(RexxObject*) 1.00 ms â0,0Â % 1.00 ms RexxVariableDictionary::reserve(RexxActivity*) 1.00 ms â0,0Â % 1.00 ms RexxInstructionParse::execute(RexxActivation*, RexxExpressionStack*) 1.00 ms â0,0Â % 1.00 ms DYLD-STUB$$bzero 197.00 ms â1,3Â % 8.00 ms CPPCode::run(RexxActivity*, RexxMethod*, RexxObject*, RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&) 4.00 ms â0,0Â % 4.00 ms RexxDirectory::put(RexxObject*, RexxString*) 4.00 ms â0,0Â % 4.00 ms RexxActivation::RexxActivation(RexxActivity*, RexxActivation*, RexxMethod*, RexxCode*) 3.00 ms â0,0Â % 3.00 ms RexxString::hash() 2.00 ms â0,0Â % 2.00 ms RexxString::getHashValue() 2.00 ms â0,0Â % 2.00 ms RexxActivation::run(RexxObject*, RexxString*, RexxArray*, RexxObject**, unsigned long, unsigned long, RexxInstruction*, ProtectedObject&) 1.00 ms â0,0Â % 1.00 ms DYLD-STUB$$memcmp 6.43 s 41,7Â % 17.00 ms RexxExpressionMessage::evaluate(RexxActivation*, RexxExpressionStack*) 18.00 ms â0,1Â % 18.00 ms RexxParseVariable::evaluate(RexxActivation*, RexxExpressionStack*) 15.00 ms â0,1Â % 10.00 ms RexxBinaryOperator::evaluate(RexxActivation*, RexxExpressionStack*) 6.00 ms â0,0Â % 6.00 ms RexxCode::run(RexxActivity*, RexxMethod*, RexxObject*, RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&) 5.00 ms â0,0Â % 5.00 ms RexxLocalVariables::lookupVariable(RexxString*, unsigned long) 5.00 ms â0,0Â % 1.00 ms RexxExpressionFunction::evaluate(RexxActivation*, RexxExpressionStack*) 3.00 ms â0,0Â % 3.00 ms builtin_function_ARG(RexxActivation*, RexxObject**, unsigned long, unsigned long, RexxExpressionStack*) 2.00 ms â0,0Â % 2.00 ms RexxString::hash() 2.00 ms â0,0Â % 2.00 ms CPPCode::run(RexxActivity*, RexxMethod*, RexxObject*, RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&) 27.00 ms â0,2Â % 4.00 ms RexxInstructionIf::execute(RexxActivation*, RexxExpressionStack*) 25.00 ms â0,2Â % 4.00 ms RexxInstructionParse::execute(RexxActivation*, RexxExpressionStack*) 21.00 ms â0,1Â % 2.00 ms RexxInstructionAssignment::execute(RexxActivation*, RexxExpressionStack*) 16.00 ms â0,1Â % 13.00 ms RexxInstructionSelect::execute(RexxActivation*, RexxExpressionStack*) 3.00 ms â0,0Â % 3.00 ms RexxInstructionDo::execute(RexxActivation*, RexxExpressionStack*) 2.00 ms â0,0Â % 2.00 ms RexxParseVariable::evaluate(RexxActivation*, RexxExpressionStack*) 1.00 ms â0,0Â % 1.00 ms RexxParseVariable::assign(RexxActivation*, RexxExpressionStack*, RexxObject*) 1.00 ms â0,0Â % 1.00 ms RexxInstructionDo::reExecute(RexxActivation*, RexxExpressionStack*, RexxDoBlock*) 1.00 ms â0,0Â % 1.00 ms RexxBinaryOperator::evaluate(RexxActivation*, RexxExpressionStack*) 1.00 ms â0,0Â % 1.00 ms RexxTrigger::parse(RexxActivation*, RexxExpressionStack*, RexxTarget*) 1.00 ms â0,0Â % 1.00 ms RexxObject::messageSend(RexxString*, RexxObject**, unsigned long, unsigned long, ProtectedObject&, bool, bool) 1.00 ms â0,0Â % 1.00 ms RexxInstructionEnd::execute(RexxActivation*, RexxExpressionStack*) 2.00 ms â0,0Â % 2.00 ms RexxInstructionDo::execute(RexxActivation*, RexxExpressionStack*) 1.00 ms â0,0Â % 1.00 ms RexxParseVariable::assign(RexxActivation*, RexxExpressionStack*, RexxObject*) 21.00 ms â0,1Â % 0 s RexxInstructionAssignment::execute(RexxActivation*, RexxExpressionStack*) 3.00 ms â0,0Â % 0 s RexxInstructionSay::execute(RexxActivation*, RexxExpressionStack*) 174.00 ms â1,1Â % 0 s RexxInstructionCall::execute(RexxActivation*, RexxExpressionStack*) 1.00 ms â0,0Â % 0 s RexxSource::processInstall(RexxActivation*) 26.00 ms â0,2Â % 0 s Terminate 22.00 ms â0,1Â % 0 s Interpreter::terminateInterpreter() 3.00 ms â0,0Â % 0 s RexxCreateInterpreter 1.00 ms â0,0Â % 1.00 ms 0x100407185
|
_______________________________________________ Oorexx-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/oorexx-devel
