Re: Pro*C Size/Speed issues

From: Tommy Wareing <p0070621_at_oxford-brookes.ac.uk>
Date: 8 Mar 1994 03:43:08 -0600
Message-ID: <CMCAuI.w8_at_uk.ac.brookes>


Jennifer R. Amon (bamon_at_ocvaxc.cc.oberlin.edu) wrote:
> Hi,
 

> Platform: VAX/VMS v5.5-2, VAX C
> Oracle RDBMS 7.0.15.4
> Pro*C 1.5.6.2.0
 

> I've got a Pro*C program. It was a C program, to which I added only
> as much as necessary to logon to Oracle. There will be much more to
> come later, but for now, it just logs on. The .exe jumped from 171
> blocks to 1735 blocks. The whole program slowed down, probably due
> to page faulting.

The extra size is for all the Oracle libraries. They're statically linked into the executable. Good isn't it?

> What are my options now? What is the extra size, a map of the SGA?
> Note: on a machine with a considerably smaller SGA, the executable
> is only 797 blocks.

I didn't think the SGA was that big. I've never checked though.

> For example, I'm using dynamic memory allocation to deal with data
> that's coming in from flat files. Would I be any better off if I
> pre-allocate a large static array?

I managed to improve performance of my code by moving frequently accessed reference tables from the database into memory, which means I can then access it using a binary search rather than a SELECT and waiting for the DBMS to supply results.

The side-effect of this is that I need to lock the tables which I cached in memory (to ensure read consistancy). This located a bug in Forms (users not getting a "Attempt to lock record failed: Retry/Cancel" messages).

And so it goes.

--
 _________________________   __________________________________________
/  Tommy Wareing          \ /  I've been looking for an original sin,  \
|  p0070621_at_brookes.ac.uk  X   One with a twist and a bit of a spin    |
\  0865-483389            / \     -- Pandora's Box, Jim Steinman       /
 ~~~~~~~~~~~~~~~~~~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Received on Tue Mar 08 1994 - 10:43:08 CET

Original text of this message