Internal procedure/function performance V9.1C

markjonesnz

New Member
Hello,

I have been looking at a performance issue and it performs great on my laptop but horribly on the customers server. I have tracked the problem down to the internal procedures and functions, this is basically what it does:

for each sku no-lock:
l-cost = GetVendorCost(sku_nbr).
run GetOtherValues(sku_nbr,input-output l-end,input-output l-trans).
end.

This takes 80 seconds to execute, if I copy the code from the internal function (GetVendorCost) into the for each loop it now takes 60 seconds (25% improvement)

Does anybody know if there has been performace improvement to internal functions/procedures in more recent versions of progress? (as I could upgrade them but I dont want to spend hours doing that if it is not going to help...)

Interestingly I dont see the problem on my laptop (it takes 6 seconds to run) and I am using same version of progress on laptop, I can only suspect that it is because I have a 4MB L2 cache on laptop and the server only has 1MB L2.
 
There were huge improvements in 4gl execution performance somewhere around 9.1D07.

9.1C is a really old and fairly awful release. If, for some unholy reason, they insist on sticking with v9 then 9.1E04 is the very last release and has many bug fixes and improvements available.

10.1C is the current release of Progress.
 
Thank you for the reply Tom. I upgraded my laptop to 9.1E02 and there was a small improvement, but I suspect that will translate to a much more noticeable improvement on their server. I then backed up the DB and converted it to V10 and saw an even bigger improvement on 10.1B02 - now takes 2 seconds on my laptop (down from 6)

So I am now very confident that I can tell them a progress upgrade will help the performance considerably. I just have to hope they don't have any win 98 clients still floating around so I can move them to the latest V10...
 
Back
Top