Hi Marcel, Hi All,
I finally got round to identifying the bottle neck, and it is a deep recursion within nanosecondsToRunHighRes:. Here's the profile for doing a "run to here..." in the debugger on a not too complex class (TMethod). And I should say that this is using a trunk Squeak 6 derived, fully updated VMMaker image on a tip Cog VM on MacOS Monterey 12.7.4 on a 16" 2021 MacBook Pro w 64Gb.
[ |54.6% {11716ms} Debugger>>contextStackIndex:oldContextWas:
[ | 54.6% {11712ms} Debugger>>restoreReceiverInspectorState
[ | 54.6% {11712ms} WeakIdentityKeyDictionary(WeakKeyDictionary)>>at:ifPresent:
[ | 54.6% {11712ms} WeakIdentityKeyDictionary(Dictionary)>>at:ifPresent:
[ | 54.6% {11712ms} [] Debugger>>restoreReceiverInspectorState
[ | 54.6% {11712ms} Inspector>>selectFieldNamed:
[ | 54.6% {11712ms} Inspector>>selectFieldSuchThat:
[ | 54.6% {11712ms} Inspector>>selectionIndex:
[ | 54.6% {11712ms} Inspector>>updateContentsSafely
[ | 54.6% {11709ms} FullBlockClosure(BlockClosure)>>ifError:
[ | 54.6% {11709ms} FullBlockClosure(BlockClosure)>>on:do:
[ | 54.6% {11709ms} [] Inspector>>updateContentsSafely
[ | 54.6% {11709ms} Inspector>>getContents
[ | 54.6% {11709ms} FullBlockClosure(BlockClosure)>>timeToRun
[ | 54.6% {11709ms} Time class>>millisecondsToRun:
[ | 54.6% {11709ms} Time class>>microsecondsToRun:
[ | 54.6% {11709ms} Time class>>nanosecondsToRunHighRes:
[ | 53.8% {11535ms} Time class>>nanosecondsToRunHighRes:
...
[[[ 1.3% {287ms} Time class>>nanosecondsToRunHighRes:
[[[ 1.2% {263ms} Time class>>nanosecondsToRunHighRes:
[[[ 1.1% {245ms} Time class>>nanosecondsToRunHighRes:
[[[ 1.1% {226ms} Time class>>nanosecondsToRunHighRes:
[[[ 1.0% {216ms} Time class>>nanosecondsToRunHighRes: