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




On 4 Jan 2026, at 08:27, Jean Louis Faucher <[email protected]> wrote:

Hi Rony, P.O.

On 3 Jan 2026, at 23:03, P.O. Jonsson <[email protected]> wrote:

Hi Rony,

Have you monitored the memory usage while running the test? In the cases I have had similar problem it have invariantly been lack of physical memory and the machine starting to swap out memory to disk.



Tested on Apple M1 Pro 32 GB


created test_01.json: 00:00:00.030275
wrote test_01.json: 00:00:00.000987
created test_02.json: 00:00:00.052254
wrote test_02.json: 00:00:00.001881
---
importing test_02.json ...
importing test_02.json lasted: 00:00:19.435259
test_02.json: res~items: 180000
importing test_02.json ...
importing test_02.json lasted: 00:02:06.677061
test_02.json: res~items: 180000
importing test_01.json ...
importing test_01.json lasted: 00:00:51.895894
test_01.json: res~items: 90000
importing test_01.json ...
importing test_01.json lasted: 00:00:13.390069
test_01.json: res~items: 90000


If you add drop res then it's better

do fn over "test_02.json", "test_02.json", "test_01.json", "test_01.json"
   res=read_file(fn)
   say fn":" "res~items:" res~items
   drop res
end


created test_01.json: 00:00:00.023453
wrote test_01.json: 00:00:00.000948
created test_02.json: 00:00:00.043462
wrote test_02.json: 00:00:00.002323
---
importing test_02.json ...
importing test_02.json lasted: 00:00:19.998360
test_02.json: res~items: 180000
importing test_02.json ...
importing test_02.json lasted: 00:00:24.779940
test_02.json: res~items: 180000
importing test_01.json ...
importing test_01.json lasted: 00:00:01.770389
test_01.json: res~items: 90000
importing test_01.json ...
importing test_01.json lasted: 00:00:01.420197
test_01.json: res~items: 90000


_______________________________________________
Oorexx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to