O$4 vs O$3 performance
Mary Whittaker
mary at healthsolve.com.au
Wed Apr 29 19:41:04 EDT 2009
Hi Stefan,
I suspect your advice on redraws may be one of the causes of our
problem. I did some testing last night and found that data access is
actually pretty good and it is other front-end stuff that is slow.
One example is some list handling code. In this example, a list
(ibookingslist) has been loaded and each line is being processed as
follows :
For j from 1 to ibookingslist.$linecount() step 1
Do method makechecklist (ibookingslist.[j])
Do method addbookingcolour (ibookingslist.[j].AT_COLOUR,j)
End For
The method 'makechecklist' accepts it's parameter as a 'Field
Reference'. I am not in the habit of passing a row in a list in this
way (someone else wrote it !!) so I changed it to this
For j from 1 to ibookingslist.$linecount() step 1
Do lvRow.$assignrow(ibookingslist.[j],ktrue)
Do method makechecklist (lvRow)
Do method addbookingcolour (lvRow.AT_COLOUR,j)
Do ibookingslist.[j].$assignrow(lvRow,ktrue)
End For
This made an amazing difference. It reduced the load time in one
case from about 16 seconds to 4. I guess this is an example of non-
efficient programming that wasn't an issue in OS3 but is in OS4. It
is this sort of thing that I need to identify somehow and fix. Any
more advice like Stefan's would be greatly appreciated.
On 29/04/2009, at 9:34 PM, Stefan Csomor wrote:
> Hi Mary
>
>> Hi all,
>>
>> I just logged this query with Omnis Tech Support and I need some
>> pretty urgent feedback. Just wondering if any of you have any
>> advice?
>
> my own finding with 4.3.1 with regard to earlier 4.0 versions, was
> an effect
> of redraws being more costly than earlier, so while I was sloppily
> just
> having a 'Redraw working message' in the loop, I've changed that in
> the more
> critical parts to things like
>
> While flag true
> If mod(i,50)=0
> Redraw working message
> End If
> ...
>
> i being some iteration variable
>
> so that it still gives some feedback, but doesn't redraw for every
> single
> iteration
>
> just my 0.02$
>
> HTH
>
> Stefan
>
> _____________________________________________________________
> Manage your list subscriptions at http://lists.omnis-dev.com
Kind Regards
Mary Whittaker
Senior Business Analyst

Office: 61 08 8203 0500
mobile: 0417 848028
Email: mary at clintelsystems.com.au
More information about the omnisdev-en
mailing list