Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: OCI performance with user callbacks
roger <rsr_at_rogerware.com> wrote in
news:Xns92FB9D821405Brsrrogerwarecom_at_204.127.202.16:
> Hi. Thanks for your thoughts.
NP! I realize that I don't exactly have your environment but at
least
we might be able to bounce some ideas around ...
> I should have mentioned my setup before I suppose...
Usually helpful but in this particular case, not necessarily.
> Solaris 8 single CPU system, Oracle version 9.0.1
> Though threaded, my application happens to
> be "naturally serialized" w.r.t Oracle, so I create
> the OCI environment with OCI_NO_MUTEX specified.
Hmmm, working with my current client, their ODBC 'expert' recommended
when compiling against Oracle 9i, to use 9iR2 -- have you had a
chance
to do that?
> I'm not sure what 'context switching' you're
> referring to exactly. The way I see it, I call
> some OCIMumbleFunction, which executes in the same
> thread context as it is called from. It may eventually
> initiate a server request, and so my thread will
> sleep for a bit while that goes on.
You're right, it's not in the traditional sense of an O/S process doing a context switch but rather a 'longjump' to the call back from within the process, then the return -- of course I'm just guessing that's what happens within the pcode generated.
> But, I believe that the callbacks would occur before
> and after any such round trip to the server, and therefore
> am surprised by the additional overhead they incur.
I completely agree. By any chance, have you strace()'d or truss()'d your process(es)? I think it might be helpful to compare with and without CB's and see what's up.
-- Pablo Sanchez, High-Performance Database Engineering http://www.hpdbe.comReceived on Mon Jan 06 2003 - 21:04:20 CST