What determines the difference between elapsed time and CPU time as measured by ⎕MONITOR?
I presume that three causes are external calls, paging, and context switching among users. Are there others? Do compactions, for instance, not count in CPU time?
The specific instance that I am looking at is
:If 0∊⍴ix←xWhere(↓pool.Data[;,pool.Flds⍳pREPDATAPOOLSRCEID],fcfld)∊↓translateb⌿fldm[;fldf⍳pREPDATAPOOLSRCEID,pPTRIK]
with <pool> being a namespace, its variable Data being a very large nested matrix, and <xWhere> is essentially ⍸.
Our internal profiling tool reports 5,256.87 seconds elapsed and 3,433.31 seconds CPU (for a large number of iterations). It’s possible that there were other users on the system at that time, but that is an awfully big difference.
Large difference between elapsed and CPU times
-
- Posts: 1
- Joined: Mon Jun 23, 2014 1:51 pm