GregTomkins
Active Member
I have observed the following in a procedure that runs the same series of about 60 subprocedures about 100 times (eg. processing 100 orders, each of which entails running about 60 procedures). In all cases the -q parameter is in effect.
1. Time required to run when everything is precompiled = 30 seconds
2. Time required to compile all of the programs involved once = 15 seconds
3. Time required to run when nothing is precompiled = 4 minutes
This makes no sense to me. I would think that #3 should be roughly the sum of #1 and #2. The following stats are from the client.mon file:
From case 1 - everything precompiled:
Compilations of .p's: 1
Checks of files with stat: 62
From case 3 - nothing precompiled:
Compilations of .p's: 61
Checks of files with stat: 38471
BTW, case 3 with no -q parameter is slower only about 5 minutes. I would have expected it to be vastly slower. It does suggest that -q is being used, though.
Anyway, that 38,471 looks suspicious to me. My guess is that in the -q logic, if the file is not precompiled, it checks the file system for each RUN (and each included file, which might explain the huge number), even if it eventually decides to use a session compile.
Any comments? Am I missing something here?
Thanks and Cheers.
1. Time required to run when everything is precompiled = 30 seconds
2. Time required to compile all of the programs involved once = 15 seconds
3. Time required to run when nothing is precompiled = 4 minutes
This makes no sense to me. I would think that #3 should be roughly the sum of #1 and #2. The following stats are from the client.mon file:
From case 1 - everything precompiled:
Compilations of .p's: 1
Checks of files with stat: 62
From case 3 - nothing precompiled:
Compilations of .p's: 61
Checks of files with stat: 38471
BTW, case 3 with no -q parameter is slower only about 5 minutes. I would have expected it to be vastly slower. It does suggest that -q is being used, though.
Anyway, that 38,471 looks suspicious to me. My guess is that in the -q logic, if the file is not precompiled, it checks the file system for each RUN (and each included file, which might explain the huge number), even if it eventually decides to use a session compile.
Any comments? Am I missing something here?
Thanks and Cheers.