Thursday, October 19, 2006

Pause For Thought part 2

In an AskTom thread about native compilation, a poster mentions that he is seeing some big CPU waits on his system and wonders whether native compilation would help. After some discussion of tracing and profiling and his 32 Tuxedo connections, he reports back that from talking to the programmer (possibly this guy), he might have narrowed the problem down to a procedure called DELAY():

I just happened to talk to the programmer and what i understand is that that specific function when called so many times , it is internally calling a procedure with passing a value n, where n is like 4,5,6 etv. That procedure is called delay and its job is to create a delay in the logic flow. So the delay procedure accepsts values like 10 as seconds and then it
FOR di IN 1..sed LOOP
   NULL;
END LOOP;
A random thought, could this when run so many times accumulate huge cpu?

Tom thinks maybe it might.

Thanks Tom for sending this in.

5 comments:

Rab Boyce said...

one of the the ops replies states that
'I have now been informed about the actual reason as to why did they code the
delay and am afraid the reason is such that I can not share it on here, I means
its public, i can send you the reason for your curiosity if u have an email add.'

what on earth could the reason be? how bad does it have to be that he couldn't share it in public? :S

William Robertson said...

Perhaps it was to leave scope for a performance-enhancing upgrade later on.

Adrian said...

..and everyone knows who "dani from sa" is, and who he (or she) works for, right?

Thomas Kyte said...

a 53% reduction in cpu was noted after making the change...

William Robertson said...

This seems quite a popular solution. In this guy's experience it will definitely not cause a problem.

("Thanks dear" the original poster replied to the suggestion, "but it looks somewhat improper.")