Thank you Colin. I wouldn't post these types of 'issues' if I were
thin-skinned and didn't appreciate input.

There are certainly some efficiencies in the updating of the
multi-values. Unfortunately I cannot reorganize the data in the records,
only the code that updates said data.

I'll consider posting it. Names will have to be changed to protect 'the
innocent' copyright.

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
"Delivering Products, Services and Innovative Solutions"


-----Original Message-----
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Colin Alfke
Sent: Tuesday, May 01, 2012 10:05 AM
To: 'U2 Users List'
Subject: Re: [U2] READU vs READ

Dave;

A couple more things:
 - do you have any other processes running at the same time? I found
(long
ago) that a couple of our big processes ran 5X faster consecutively than
they did concurrently.
 - subroutine calls with file opens. I inherited a process that was
running for 3 days and was 65% done. I put all of the file opens in
common (well, the file variables) and re-ran in hours.

You may want to re-think posting some of the code. There can be some
efficiencies found in processing large dynamic arrays. You said it
wasn't code you wrote - so try to take the criticism as constructive :)

hth
Colin

-----Original Message-----
From: Tom Whitmore
Sent: May 1, 2012 5:50 AM
To: U2 Users List
Subject: Re: [U2] READU vs READ

Hi,
The question of READU vs READ when you are doing updates is moot.  If
you do a READ then a WRITE, UniVerse/UniData will perform the record
lock.  The only difference is with READ you are gambling that no one
else is updating the record before you perform your WRITE.

Performance, as others suggested, there are several things to do: 
    Tune your files.  
    If you are using dynamic files, make sure you have the
MINIMUM.MODULUS set to reduce the shrink and merging
    If the records are "lumpy" redesign them so you have a header file
and a detail file, with detail files being individual records for the
associated values. 
    Use LIST.INDEX with the STATISTICS option to see if you have huge
index value, you may need to refine the index.  
    Check your hardware, you may have a bottleneck due to slow disk, I/O
pipe.
    Minimize the number of times you go through the associated values.  
    Use READU with the "LOCKED" clause, if the record is locked, add
logic to "queue" it up and try the records again once everything else is
processed (WRITEs will hang on a lock if you don't have the "LOCKED"
clause, just like a READU without the "LOCKED" clause.

Good luck!
Tom
RATEX Business Solutions

-----Original Message-----
From: Symeon Breen

Have you been able to do any os level tools to see what the utilisation
of resources is. E.g. on linux, vmstat, top, iostat will show you if it
is a diskio or cpu bottleneck.  If it is diskio (i.e. high wait on io
times) then you may need to upgrade the disks or add more ram so you
have more data in cache.


-----Original Message-----
From: Dave Laansma

Oh ... you're good ... I ALMOST pasted it ...

I know better that to put even FICTITIOUS code on this board ... unless
I'm just trying to rile things up about the OS. |-)

I do appreciate all of the input. Thank y'all for the info. I'll see
what I can do.

Sincerely,
David Laansma


_______________________________________________
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
_______________________________________________
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

Reply via email to